tensorflow 学习笔记1

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'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值