TensorFlow神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)之張量與變量概念
一、張量定義
張量:TensorFlow的張量是n維數(shù)組,類(lèi)型為tf.Tensor。
標(biāo)量:一個(gè)數(shù)字 (0階張量)
向量:一維數(shù)組 (1階張量)
矩陣:二維數(shù)組 (2階張量)
二、張量屬性
1、張量的類(lèi)型
#創(chuàng)建常數(shù)張量 a = tf.constant(3.0) print(a)
2、張量的階
三、張量的指令
1、常數(shù)張量(普通)
#創(chuàng)建常數(shù)張量 a = tf.constant(3.0) print(a)
2、張量數(shù)組
1、固定張量數(shù)組(0)
#創(chuàng)建張量數(shù)組 #0: array_0 = tf.zeros(shape=[3,3]) #3*3數(shù)組(0)
2、固定張量數(shù)組(1)
#1: array_1 = tf.ones(shape=[3,3]) #3*3數(shù)組(1)
3、隨機(jī)張量數(shù)組
#隨機(jī): array_random = tf.random_normal(shape=[2,3], mean=1.75, stddev=0.12) # 2*3數(shù)組 均值(1.75) 標(biāo)準(zhǔn)差
3、查看張量值
查看張量值:張量.eval()
#會(huì)話(huà)(查看張量) with tf.Session() as sess: print(a.eval()) print(array_0.eval()) print(array_1.eval()) print(array_random.eval())
4、張量類(lèi)型改變
#修改張量類(lèi)型 array_0 = tf.cast(array_0, tf.int32)
5、張量形狀改變
注:屬于動(dòng)態(tài)改變張量,需要張量元素個(gè)數(shù)固定。
#修改張量形狀 array_random = tf.reshape(array_random, shape=[3,2])
修改前:
修改后:
代碼
# 張量(創(chuàng)建與修改) import tensorflow as tf # 創(chuàng)建張量 def Create_Tensor(): # 創(chuàng)建常數(shù)張量 a = tf.constant(3.0) print(a) # 創(chuàng)建張量數(shù)組 # 0: array_0 = tf.zeros(shape=[3, 3]) # 3*3數(shù)組(0) # 1: array_1 = tf.ones(shape=[3, 3]) # 3*3數(shù)組(1) # 隨機(jī): array_random = tf.random_normal(shape=[2, 3], mean=1.75, stddev=0.12) # 2*3數(shù)組 均值(1.75) 標(biāo)準(zhǔn)差 # 會(huì)話(huà)(查看張量) 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('修改后的:') # 修改張量類(lèi)型 array_0 = tf.cast(array_0, tf.int32) # 修改張量形狀 array_random = tf.reshape(array_random, shape=[3, 2]) # 會(huì)話(huà)(查看張量) 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的變量必須初始化,否則會(huì)報(bào)錯(cuò)。
# 初始化變量 init = tf.global_variables_initializer()
3、開(kāi)啟會(huì)話(huà)(執(zhí)行)
# 開(kāi)啟會(huì)話(huà) 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() # 開(kāi)啟會(huì)話(huà) with tf.Session() as sess: sess.run(init) print(sess.run(c))
以上就是TensorFlow神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)之張量與變量概念的詳細(xì)內(nèi)容,更多關(guān)于TensorFlow的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python常用庫(kù)之NumPy和sklearn入門(mén)
這篇文章主要介紹了python常用庫(kù)之NumPy和sklearn入門(mén),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07numpy中np.nanmax和np.max的區(qū)別及坑
這篇文章主要介紹了numpy中np.nanmax和np.max的區(qū)別及坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Python實(shí)現(xiàn)的旋轉(zhuǎn)數(shù)組功能算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的旋轉(zhuǎn)數(shù)組功能算法,結(jié)合實(shí)例形式總結(jié)分析了數(shù)組旋轉(zhuǎn)算法的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-02-02樸素貝葉斯分類(lèi)算法原理與Python實(shí)現(xiàn)與使用方法案例
這篇文章主要介紹了樸素貝葉斯分類(lèi)算法原理與Python實(shí)現(xiàn)與使用方法,結(jié)合具體實(shí)例形式分析了樸素貝葉斯分類(lèi)算法的概念、原理、實(shí)現(xiàn)流程與相關(guān)操作技巧,需要的朋友可以參考下2018-06-06Python實(shí)現(xiàn)最短路徑問(wèn)題的方法
本篇章主要介紹圖的最短路徑問(wèn)題,包括Dijkstra算法和Floyd算法.并用Python代碼實(shí)現(xiàn),需要的朋友可以參考下2021-06-06