我试图用不同的参数多次运行神经网络,以便校准网络参数(丢失概率,学习率ed).但是我遇到的问题是,当我在循环中运行网络时,运行网络同时保持参数相同仍然给我一个不同的解决方案,如下所示:
filename = create_results_file()
for i in range(3):
g = tf.Graph()
with g.as_default():
accuracy_result, average_error = network.train_network(
parameters, inputHeight, inputWidth, inputChannels, outputClasses)
f, w = get_csv_writer(filename)
w.writerow([accuracy_result, "did run %d" % i, average_error])
f.close()
Run Code Online (Sandbox Code Playgroud)
在设置网络的图层和错误功能之前,我在train_network函数的开头使用以下代码:
np.random.seed(1)
tf.set_random_seed(1)
Run Code Online (Sandbox Code Playgroud)
我还尝试在创建TensorFlow图形之前添加此代码,但我在结果输出中不断获得不同的解决方案.
我正在使用AdamOptimizer并使用初始化网络权重tf.truncated_normal
.此外,我正在使用np.random.permutation
为每个纪元改变传入的图像.