zoukankan      html  css  js  c++  java
  • Tensorflow函数——tf.set_random_seed(seed)

    设置图级随机seed。

    依赖于随机seed的操作实际上从两个seed中获取:图级和操作级seed。 这将设置图级别的seed。

    其与操作级seed的相互作用如下:

    1.如果没有设置图形级别和操作seed,则使用随机seed进行操作。
    2.如果设置了图级seed,但操作seed没有设置:系统确定性地选择与图级seed一起的操作seed,以便获得唯一的随机序列。
    3.如果没有设置图级seed,但是设置了操作seed:使用默认的图级seed和指定的操作seed来确定随机序列。
    4.如果图级和操作seed都被设置:两个seed联合使用以确定随机序列。

    为了说明用户可见的效果,请考虑以下示例:

    要跨会话生成不同的序列,既不设置图级别也不设置op级别的seed:

    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'



    要为跨会话生成一个可操作的序列,请为op设置seed:

    a = tf.random_uniform([1], seed=1)
    b = tf.random_normal([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:

    tf.set_random_seed(1234)
    a = tf.random_uniform([1])
    b = tf.random_normal([1])
    
    # Repeatedly running this block with the same graph will generate different
    # sequences of 'a' and '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 'B1'
      print(sess2.run(b))  # generates 'B2'


    Args:

    seed: integer.

  • 相关阅读:
    springmvc学习笔记--json--返回json的日期格式问题
    springmvc学习笔记--mybatis--使用插件自动生成实体和mapper
    velocity的一些用法
    String.split()用法以及特殊分隔符注意,ps:|
    Mybatis在idea中错误:Invalid bound statement (not found)
    maven中使用junit老是找不到包
    java字符编码和oracle乱码
    ehcache报错
    java继承覆盖与向上转型,权限
    java变量的加载顺序
  • 原文地址:https://www.cnblogs.com/antflow/p/7234144.html
Copyright © 2011-2022 走看看