【发布时间】:2016-07-17 05:46:46
【问题描述】:
我正在尝试使用不同的参数多次运行神经网络,以校准网络参数(辍学概率、学习率等)。但是我遇到的问题是,当我在循环中运行网络时,在保持参数相同的情况下运行网络仍然给了我不同的解决方案,如下所示:
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 对每个时期的传入图像进行洗牌。
【问题讨论】:
-
但是这个问题是在 2 年前提出的,所以这个问题是重复的。
标签: python numpy tensorflow