TensorFlow神經網絡學習之張量與變量概念
發(fā)布日期:2021-12-24 16:50 | 文章來源:源碼中國
一、張量定義
張量:TensorFlow的張量是n維數組,類型為tf.Tensor。
標量:一個數字 (0階張量)
向量:一維數組 (1階張量)
矩陣:二維數組 (2階張量)
二、張量屬性
1、張量的類型
#創(chuàng)建常數張量 a = tf.constant(3.0) print(a)
2、張量的階
三、張量的指令
1、常數張量(普通)
#創(chuàng)建常數張量 a = tf.constant(3.0) print(a)
2、張量數組
1、固定張量數組(0)
#創(chuàng)建張量數組 #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、張量形狀改變
注:屬于動態(tài)改變張量,需要張量元素個數固定。
#修改張量形狀 array_random = tf.reshape(array_random, shape=[3,2])
修改前:
修改后:
代碼
# 張量(創(chuàng)建與修改) import tensorflow as tf # 創(chuàng)建張量 def Create_Tensor(): # 創(chuàng)建常數張量 a = tf.constant(3.0) print(a) # 創(chuàng)建張量數組 # 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()) # 創(chuàng)建張量 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、開啟會話(執(zhí)行)
# 開啟會話 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的資料請關注本站其它相關文章!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯系alex-e#qq.com處理。
相關文章