第4章 TensorFlow基礎

2022-09-07 22:27:32 字數 3215 閱讀 7782

基本資料型別,包含數值型、字串型和布林型。

布林型別的張量只需要傳入 python 語言的布林型別資料,轉換成 tensorflow 內部布林型即可:

需要注意的是, tensorflow 的布林型別和 python 語言的布林型別並不對等,不能通用 :

a = tf.constant(true)

a == true

# 輸出:false

在建立張量的時,可以指定張量的儲存精度:

tf.constant(123456789, dtype = tf.int32)
作用:為了區分需要計算梯度資訊的張量和不需要計算梯度資訊的張量,tensorflow增加了一種專門的資料型別來支援梯度資訊的記錄:tf.variable.

待優化張量可看做普通張量的特殊型別,普通張量也可以通過gradienttape.watch()方法臨時加入跟蹤梯度資訊的列表。

通過tf.convert_to_tensor可以建立新 tensor,並將儲存在 python list 物件或者 numpy array 物件中的資料匯入到新 tensor 中 :

tf.convert_to_tensor([1, 2.])

tf.convert_to_tensor([[1,2.],[3,4]])

通過tf.zeros()tf.ones()即可建立任意形狀全 0 或全 1 的張量 。

tf.*_like是乙個便捷函式,可以通過tf.zeros(a.shape)等方式實現 。

通過tf.fill(shape, value)可以建立全為自定義數值 value 的張量 :

在卷積神經網路中,卷積核張量 w 初始化為正態分佈有利於網路的訓練。

在對抗生成網路中,隱藏變數 z 一般取樣自均勻分布。

通過tf.random.normal(shape, mean=0.0, stddev=1.0)可以建立形狀為 shape,均值為mean,標準差為 stddev 的正態分佈。

在迴圈計算或者對張量進行索引時,經常需要建立一段連續的整形序列,可以通過tf.range()函式實現

# 建立0-9,步長為1的整形序列

l21 = tf.range(10)

# 建立0-9,步長為2的整形序列

l22 = tf.range(10, delta=2)

通過 tf.range(start, limit, delta=1)可以建立[
第4章 型別基礎

4.1 所有型別的基型別 system.object 公有方法 equals,gethashcode,tostring,gettype 保護方法 memberwiseclone,finalize clr要求所有的物件 指引用物件 都要用new操作符來建立,new操作符產生 newobj il指令,執...

第4章 NumPy基礎

numpy是高效能科學計算和資料分析的基礎包。主要功能 1 ndarray,乙個具有向量算術運算和複雜廣播能力的快速且節省空間的多維陣列。2 用於對整組資料進行快速運算的標準數學函式 無需編寫迴圈 3 用於讀寫磁碟資料的工具以及用於操作記憶體對映檔案的工具。4 線性代數 隨機數生成以及傅利葉變換功能...

C 基礎 第4章 型別基礎

4.1 本章主要內容 所有型別都從system.object派生 型別轉化 命名空間和程式集 無 演示 執行時的相互關係 無 演示 using system 該型別隱式派生自system.object internal class employee system.object internal cl...