tensorflow - 在 TensorFlow 中,有没有办法在会话级别设置种子?
问题描述
我试图在运行会话时获得可重复的结果,但想在会话之间自由更改种子。像这样的东西:
a = tf.random_uniform([1])
#Set seed here to e.g. 123
with tf.Session() as sess:
print(sess.run(a)) #Output: A1
print(sess.run(a)) #Output: A2
#Set seed here to e.g. 42
with tf.Session() as sess:
print(sess.run(a)) #Output: A3
print(sess.run(a)) #Output: A4
#Set seed here to e.g. 123
with tf.Session() as sess:
print(sess.run(a)) #Output: A1
print(sess.run(a)) #Output: A2
如果我正确理解了 set_random_seed 页面,该方法似乎在图形级别设置种子,因此会话之间的结果将是相同的。事实上,根据该页面,似乎只能:
- 使运行不可重现
- 使单个操作可重现,而不会在会话之间更改(通过直接设置操作的种子)
- 使所有操作可重现,不可能在会话之间更改(通过使用 set_random_seed)
我找不到任何方法来灵活更改种子而无需重建图形。任何指向正确解决方案的指针都将受到高度赞赏。
解决方案
推荐阅读
- reactjs - 是否有在 React (Next.js) 中构建和维护嵌套菜单的通用方法?
- python - 使用 SAT 求解器的 N 皇后问题(pycosat)
- c# - 与 C# 桌面应用程序行为不一致的 Unity 数字转换
- python - python中的solovay strassen算法
- android - 已解决:我不能在使用 java 的 android 编程中使用逗号
- django - 无法在 Django 表单中访问 Div 中的字段
- python - 如何将我的字符串保存在多行中?
- javascript - 渲染中的 setState 时出现“渲染不同组件时无法更新组件”错误
- python - Pygame主循环之外的编程控制
- metadata - Pyarrow parquet 无法读取具有大量元数据的数据集