Nir*_*han 4 neural-network feed-forward keras tensorflow
这是我使用keras和tensorflow作为后端运行的确切代码.对于具有相同程序的每次运行,训练结果是不同的.有时它在第400次迭代中获得100%的准确度,有时在第200次中获得100%的准确度.
training_data = np.array([[0,0],[0,1],[1,0],[1,1]], "float32")
target_data = np.array([[0],[1],[1],[0]], "float32")
model = Sequential()
model.add(Dense(4, input_dim=2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='mean_squared_error',
optimizer='adam',
metrics=['binary_accuracy'])
model.fit(training_data, target_data, epochs=500, verbose=2)
Epoch 403/500
0s - loss: 0.2256 - binary_accuracy: 0.7500
Run Code Online (Sandbox Code Playgroud)
那么为什么在列车数据修复后每次执行结果都会发生变化?非常感谢一些解释.
训练集是固定的,但是我们将神经网络的初始权重设置为小范围内的随机值,因此每次训练网络时,结果都会略有不同.
如果你想要可重复的结果,你可以将numpy随机种子设置numpy.random.seed为固定值,因此将使用相同的权重,但要注意这会使你的网络产生偏差.
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |