TensorFlow神經網絡學習之張量與變量概念
一、張量定義
張量:TensorFlow的張量是n維數組,類型為tf.Tensor。
標量:一個數字 (0階張量)
向量:一維數組 (1階張量)
矩陣:二維數組 (2階張量)
二、張量屬性
1、張量的類型
#創建常數張量 a = tf.constant(3.0) print(a)
2、張量的階
三、張量的指令
1、常數張量(普通)
#創建常數張量 a = tf.constant(3.0) print(a)
2、張量數組
1、固定張量數組(0)
#創建張量數組 #0: array_0 = tf.zeros(shape=[3,3]) #3*3數組(0)
2、固定張量數組(1)
#1: array_1 = tf.ones(shape=[3,3]) #3*3數組(1)
3、隨機張量數組
#隨機: array_random = tf.random_normal(shape=[2,3], mean=1.75, stddev=0.12) # 2*3數組 均值(1.75) 標準差
3、查看張量值
查看張量值:張量.eval()
#會話(查看張量) with tf.Session() as sess: print(a.eval()) print(array_0.eval()) print(array_1.eval()) print(array_random.eval())
4、張量類型改變
#修改張量類型 array_0 = tf.cast(array_0, tf.int32)
5、張量形狀改變
註:屬於動態改變張量,需要張量元素個數固定。
#修改張量形狀 array_random = tf.reshape(array_random, shape=[3,2])
修改前:
修改後:
代碼
# 張量(創建與修改) import tensorflow as tf # 創建張量 def Create_Tensor(): # 創建常數張量 a = tf.constant(3.0) print(a) # 創建張量數組 # 0: array_0 = tf.zeros(shape=[3, 3]) # 3*3數組(0) # 1: array_1 = tf.ones(shape=[3, 3]) # 3*3數組(1) # 隨機: array_random = tf.random_normal(shape=[2, 3], mean=1.75, stddev=0.12) # 2*3數組 均值(1.75) 標準差 # 會話(查看張量) with tf.Session() as sess: print(a.eval()) print(array_0.eval()) print(array_1.eval()) print(array_random.eval()) # 修改張量 def Modify_Tensor(): global array_0, array_random print('修改後的:') # 修改張量類型 array_0 = tf.cast(array_0, tf.int32) # 修改張量形狀 array_random = tf.reshape(array_random, shape=[3, 2]) # 會話(查看張量) with tf.Session() as sess: print(array_0.eval()) print(array_random.eval()) # 創建張量 Create_Tensor() # 修改張量 Modify_Tensor()
四、變量
1、定義變量
# 定義變量 a = tf.Variable(initial_value=2) b = tf.Variable(initial_value=4) c = tf.add(a,b)
2、初始化變量
TensorFlow的變量必須初始化,否則會報錯。
# 初始化變量 init = tf.global_variables_initializer()
3、開啟會話(執行)
# 開啟會話 with tf.Session() as sess: sess.run(init) print(sess.run(c))
代碼
# 變量 import tensorflow as tf # 定義變量 a = tf.Variable(initial_value=2) b = tf.Variable(initial_value=4) c = tf.add(a,b) # 初始化變量 init = tf.global_variables_initializer() # 開啟會話 with tf.Session() as sess: sess.run(init) print(sess.run(c))
以上就是TensorFlow神經網絡學習之張量與變量概念的詳細內容,更多關於TensorFlow的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- numpy和tensorflow中的各種乘法(點乘和矩陣乘)
- python神經網絡TensorFlow簡介常用基本操作教程
- TensorFlow神經網絡構造線性回歸模型示例教程
- 基於Tensorflow搭建一個神經網絡的實現
- 使用tensorflow 實現反向傳播求導