小编Waa*_*ers的帖子

如何使用TensorFlow获得稳定的结果,设置随机种子

我试图用不同的参数多次运行神经网络,以便校准网络参数(丢失概率,学习率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为每个纪元改变传入的图像.

python numpy tensorflow

56
推荐指数
6
解决办法
3万
查看次数

标签 统计

numpy ×1

python ×1

tensorflow ×1