tensorflow学习笔记(2)

转自https://blog.csdn.net/lhanchao/article/details/51442181

1、tf.ones(shape,type=tf.float32,name=None)

      tf.ones([ 2 ,  3 ], int32) ==> [[ 1 ,  1 ,  1 ], [ 1 ,  1 ,  1 ]]

2、tf.zeros(shape,type=tf.float32,name=None)
      tf.zeros([ 2 3 ], int32) ==> [[ 0 0 0 ], [ 0 0 0 ]]

3、tf.ones_like(tensor,dype=None,name=None)
     新建一个与给定的tensor类型大小一致的tensor,其所有元素为1。
      # 'tensor' is [[1, 2, 3], [4, 5, 6]]  
     tf.ones_like(tensor) ==> [[ 1 ,  1 ,  1 ], [ 1 ,  1 ,  1 ]]

4、tf.zeros_like(tensor,dype=None,name=None)
     新建一个与给定的tensor类型大小一致的tensor,其所有元素为0。
      # 'tensor' is [[1, 2, 3], [4, 5, 6]]  
     tf.ones_like(tensor) ==>  [[ 0 0 0 ], [ 0 0 0 ]]

5、tf.fill(dim,value,name=None)
     创建一个形状大小为dim的tensor,其初始值为value
     # Output tensor has shape [2, 3]. 
     fill([2, 3], 9) ==> [[9, 9, 9] 
                                 [9, 9, 9]]

6、tf.constant(value,dtype=None,shape=None,name='Const')
     创建一个常量tensor,先给出value,可以设定其shape
      # Constant 1-D Tensor populated with value list.  
     tensor = tf.constant([ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ]) => [ 1  2  3  4  5  6  7
    # Constant 2-D tensor populated with scalar value -1.  
     tensor = tf.constant(- 1.0 , shape=[ 2 ,  3 ]) => [[- 1.  - 1.  - 1. ] [- 1.  - 1.  - 1. ]

7、tf.linspace(start,stop,num,name=None)
     返回一个tensor,该tensor中的数值在start到stop区间之间取等差数列(包含start和stop),如果num>1则差值为(stop-start)/(num-1),以保证最后一个元素的值为stop。
     其中,start和stop必须为tf.float32或tf.float64。num的类型为int。
      tf.linspace(10.0, 12.0, 3, name="linspace") => [ 10.0 11.0 12.0]

8、tf.range(start,limit=None,delta=1,name='range')
     返回一个tensor等差数列,该tensor中的数值在start到limit之间,不包括limit,delta是等差数列的差值。
     start,limit和delta都是int32类型。
     # 'start' is 3 
     # 'limit' is 18 
     # 'delta' is 3
     tf.range(start, limit, delta) ==> [3, 6, 9, 12, 15] 
     # 'limit' is 5 start is 0
     tf.range(start, limit) ==> [0, 1, 2, 3, 4]

9、tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)
     返回一个tensor其中的元素的值服从正态分布。
      seed : A Python integer. Used to create a random seed for the distribution.See  set_random_seed  for behavior。

10、tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
    返回一个tensor其中的元素服从截断正态分布(?概念不懂,留疑)

11、tf.random_uniform(shape,minval=0,maxval=None,dtype=tf.float32,seed=None,name=None)
    返回一个形状为shape的tensor,其中的元素服从minval和maxval之间的均匀分布。

12、tf.random_shuffle(value,seed=None,name=None)
        对value(是一个tensor)的第一维进行随机化。
       [[1,2],            [[2,3],
        [2,3],     ==>  [1,2],
        [3,4]]             [3,4]] 

13、tf.set_random_seed(seed)
        设置产生随机数的种子。

To generate different sequences across sessions, set neither graph-level nor op-level seeds:

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'

To generate the same repeatable sequence for an op across sessions, set the seed for the op:

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'

To make the random sequences generated by all ops be repeatable across sessions, set a graph-level 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'


猜你喜欢

转载自blog.csdn.net/qq_37717661/article/details/79903475