1. 程式人生 > >Tensorflow的常用矩陣生成

Tensorflow的常用矩陣生成

#全0和全1矩陣

v1 = tf.Variable(tf.zeros([3,3,3]), name="v1")  

v2 = tf.Variable(tf.ones([10,5]), name="v2")  
  
#填充單值矩陣  

v3 = tf.Variable(tf.fill([2,3], 9))  

  
#常量矩陣  
v4_1 = tf.constant([1, 2, 3, 4, 5, 6, 7])  
v4_2 = tf.constant(-1.0, shape=[2, 3])  

# 和v4_1形狀一樣的全1或全0矩陣

v5_1=tf.ones_like(v4_1)

v5_2=tf.zeros_like(v4_1)

  

#生成等差數列  
v6_1 = tf.linspace(10.0, 12.0, 30, name="linspace")#float32 or float64  
v7_1 = tf.range(10, 20, 3)#just int32  
  

#生成各種隨機資料矩陣  

#平均分佈

v8_1 = tf.Variable(tf.random_uniform([2,4], minval=0.0, maxval=2.0, dtype=tf.float32, seed=1234, name="v8_1"))  

#正態分佈

v8_2 = tf.Variable(tf.random_normal([2,3], mean=0.0, stddev=1.0, dtype=tf.float32, seed=1234, name="v8_2"))  

#正態分佈,但是去掉2sigma外的數字

v8_3 = tf.Variable(tf.truncated_normal([2,3], mean=0.0, stddev=1.0, dtype=tf.float32, seed=1234, name="v8_3"))  

#把這3個行重排列

v8_5 = tf.random_shuffle([[1,2,3],[4,5,6],[6,6,6]], seed=134, name="v8_5")  

以上都是計算圖中的變數,需要sess.run()以後才能成為真正的資料

存取方式是:  

np.save("v1.npy",sess.run(v1))#numpy save v1 as file  
test_a = np.load("v1.npy")  
print test_a[1,2]