【发布时间】:2019-12-04 02:47:26
【问题描述】:
我正在学习 keras 中的深度学习,但遇到了问题。 损失没有减少,而且很高,大约650。
我正在处理来自tensorflow.keras.datasets.mnist 的 MNIST 数据集
没有错误,只是我的神经网络没有学习。
这是我的模型:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten
import tensorflow.nn as tfnn
inputdim = 28 * 28
model = Sequential()
model.add(Flatten())
model.add(Dense(inputdim, activation = tfnn.relu))
model.add(Dense(128, activation = tfnn.relu))
model.add(Dense(10, activation = tfnn.softmax))
model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.fit(X_train, Y_train, epochs = 4)
和我的输出:
Epoch 1/4
60000/60000 [==============================] - 32s 527us/sample - loss: 646.0926 - acc: 6.6667e-05
Epoch 2/4
60000/60000 [==============================] - 39s 652us/sample - loss: 646.1003 - acc: 0.0000e+00 - l - ETA: 0s - loss: 646.0983 - acc: 0.0000e
Epoch 3/4
60000/60000 [==============================] - 35s 590us/sample - loss: 646.1003 - acc: 0.0000e+00
Epoch 4/4
60000/60000 [==============================] - 33s 544us/sample - loss: 646.1003 - acc: 0.0000e+00
```
【问题讨论】:
-
您可以尝试更改优化器并为您的火车添加更多时期。用它做一些测试。尝试在您的 NN 中使用 Sigmoid 激活。
-
不确定数据集,您是否对图像进行标准化?而且loss这么大,试着设置batch size吧。
-
您可能尚未对图像进行标准化。如果是这种情况,请参阅 this answer 或 this one。
标签: python machine-learning keras neural-network deep-learning