我正在尝试使用不同的参数多次运行神经网络,以便校准网络参数(辍学概率,学习率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()
在设置网络的层和错误功能之前,我在train_network函数的开头使用了以下代码:
np.random.seed(1)
tf.set_random_seed(1)
我还尝试在TensorFlow图形创建之前添加此代码,但是在结果输出中我会不断获得不同的解决方案。
我正在使用AdamOptimizer并使用初始化网络权重tf.truncated_normal
。另外,我正在使用np.random.permutation
随机播放每个时期的传入图像。