我是一个正在尝试这个神经网络示例的scikit n00b:
from sknn.mlp import Regressor, Layer
nn = Regressor(
layers=[
Layer("Rectifier", units=100),
Layer("Linear")],
learning_rate=0.02,
n_iter=10)
nn.fit(X_train, y_train)
在[0]上找到。
我有适当的(标准化的)数据集(x_train和Y_train),我正在使用。当我执行nn.fit命令时,它工作一次。但任何后续重新运行的尝试都会导致非常烦人,
File "1.py", line 39, in <module>
nn.fit(X, Y.values.ravel())
File "/Library/Python/2.7/site-packages/sknn/mlp.py", line 397, in fit
return super(Classifier, self)._fit(X, yp, w)
File "/Library/Python/2.7/site-packages/sknn/mlp.py", line 248, in _fit
raise e
RuntimeError: Training diverged and returned NaN.
这个错误似乎没有记录,所以我的智慧结束了。让它重新工作的唯一方法似乎是重新启动我的电脑。谁看过这个吗?这是否意味着我需要进行某种“清理”工作。一旦我做完了吗?
[0] http://scikit-neuralnetwork.readthedocs.io/en/latest/guide_model.html
答案 0 :(得分:0)
我遇到了类似的问题,我尝试使用scikit-learn的管道规范化我的数据,如http://scikit-neuralnetwork.readthedocs.io/en/latest/guide_sklearn.html#example-pipeline所示。我还尝试将输出层的类型从“线性”更改为“Softmax”。
我仍然是新手,我不知道为什么这些方法会有所帮助。
答案 1 :(得分:-1)
是的,我遇到了和你一样的问题,并通过将“线性”改为“Softmax”解决了这个问题。