Traceback (most recent call last): File "D:\PyCharm\learning\1\11.py", line 166, in <module> n.train(train_input,train_output) File "D:\PyCharm\learning\1\11.py", line 142, in train error = error + self.errorbackpropagate(targets, lr, m) File "D:\PyCharm\learning\1\11.py", line 100, in errorbackpropagate error = (1 / 2) * np.dot((targets.reshape(-1, 1) - self.active_out).T, AttributeError: 'list' object has no attribute 'reshape' 进程已结束,退出代码1
时间: 2024-04-16 08:29:29 浏览: 60
浅谈Python traceback的优雅处理
根据错误信息,出现了`AttributeError: 'list' object has no attribute 'reshape'`的异常。这个错误通常发生在尝试对不支持`reshape`方法的对象进行调用时。
根据你提供的错误信息,异常发生在以下代码段中:
```python
error = (1 / 2) * np.dot((targets.reshape(-1, 1) - self.active_out).T, ...
```
根据错误信息,可能是因为`targets`是一个列表对象,而不是一个NumPy数组或矩阵。在这种情况下,尝试对列表对象调用`reshape`方法会导致`AttributeError`异常。
要解决这个问题,你可以将`targets`转换为NumPy数组或矩阵,然后再进行操作。你可以使用`np.array()`或`np.asarray()`函数来将列表转换为NumPy数组。
例如,将`targets`转换为NumPy数组的代码如下:
```python
targets = np.array(targets)
```
然后,你可以继续使用`reshape`方法来调整数组的形状。
请尝试修改你的代码,并确保将`targets`转换为NumPy数组或矩阵后再进行相关操作。如果问题仍然存在,请提供更多相关的代码和上下文信息,以便我能够提供更准确的帮助。
阅读全文