2022-02-16
设置图级随机种子。
依赖随机种子的操作实际上是从两个种子中获得的:图级种子和操作级种子。这将在图形级别设置种子。
它与操作级种子的交互如下:
1.如果没有设置图形层级和操作种子,则使用随机种子进行操作。
2.如果设置了图级种子,但没有设置操作种子:系统确定性地选择操作种子和图级种子,以获得唯一的随机序列。
3.如果未设置图级种子,但设置了操作种子:使用默认的图级种子和指定的操作种子来确定随机序列。
4.如果同时设置了图级种子和操作种子:两个种子一起使用以确定随机序列。
为了说明用户可见的效果,请考虑以下示例:
要跨会话生成不同的序列,既不设置图形级种子,也不设置操作级种子:
a = tf.random_uniform([1])
b = tf.random_normal([1])
print("Session 1")
with tf.Session() as sess1:
print(sess1.run(a)) # generates 'A1'
print(sess1.run(a)) # generates 'A2'
print(sess1.run(b)) # generates 'B1'
print(sess1.run(b)) # generates 'B2'
print("Session 2")
with tf.Session() as sess2:
print(sess2.run(a)) # generates 'A3'
print(sess2.run(a)) # generates 'A4'
print(sess2.run(b)) # generates 'B3'
print(sess2.run(b)) # generates 'B4'
要跨会话生成可操作的序列,请为操作设置种子:
a = tf.([1], 种子=1)
b = tf.([1])
# Repeatedly running this block with the same graph will generate the same
# sequence of values for 'a', but different sequences of values for 'b'.
print("Session 1")
with tf.Session() as sess1:
print(sess1.run(a)) # generates 'A1'
print(sess1.run(a)) # generates 'A2'
print(sess1.run(b)) # generates 'B1'
print(sess1.run(b)) # generates 'B2'
print("Session 2")
with tf.Session() as sess2:
print(sess2.run(a)) # generates 'A1'
print(sess2.run(a)) # generates 'A2'
print(sess2.run(b)) # generates 'B3'
print(sess2.run(b)) # generates 'B4'
为了使所有op产生的随机序列在会话之间是可重复的,请设置一个图级别的seed:
参数:
种子:.
分类:
技术要点:
相关文章:
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容