在tensorflow中程式的計算過程可以表示為乙個計算圖,也稱為乙個有向圖,其作用與外觀均可模擬於程式的流程圖。計算圖中的每乙個操作可以視為乙個節點,每乙個節點可以有任意的輸入與輸出。
張量(tensor)就是在邊中流動的資料,在tensorflow中可以將其抽象的理解為陣列。flow的翻譯為中文就是流,指的就是張量的資料沿著邊在不同的節點流動並轉化。tensorflow 使用 張量 (tensor)作為資料的基本單位。tensorflow 的張量在概念上等同於多維陣列,我們可以使用它來描述數學中的標量(0 維陣列)、向量(1 維陣列)、矩陣(2 維陣列)等各種量。
張量的重要屬性是其形狀、型別和值。可以通過張量的 shape 、 dtype 屬性和 numpy() 方法獲得。
import tensorflow as tf
a = tf.constant([[
1.0,
2.0],[
3.0,
4.0]])
print
(a.shape)
print
(a.dtype)
print
(a.numpy)
# (2, 2)
# # # array([[1., 2.],
# [3., 4.]], dtype=float32)>>
在tensorflow中,宣告乙個變數需要使用變數宣告函式—variable()。宣告變數的時候需要提供初始值。使用變數需要有乙個初始化過程,可以通過在 tf.variable() 中指定 initial_value 引數來指定初始值。。變數與普通張量的乙個重要區別是其預設能夠被 tensorflow 的自動求導機制所求導,因此往往被用於定義機器學習模型的引數。
import tensorflow as tf
a = tf.variable(tf.zeros([2
.,3.
]))b= a+
1print
(b)
在機器學習中,我們經常需要計算函式的導數。tensorflow 提供了強大的 自動求導機制 來計算導數。以下**展示了如何使用 tf.gradienttape() 計算函式 y(x) = x^2 在 x = 4時的導數:
import tensorflow as tf
x = tf.variable(initial_value=3.
)with tf.gradienttape(
)as tape:
# 在 tf.gradienttape() 的上下文內,所有計算步驟都會被記錄以用於求導
y = tf.square(x)
y_grad = tape.gradient(y, x)
# 計算y關於x的導數
print
(y_grad)
Tensorflow2 0簡單應用 一
我是初學者 參考 1.匯入tf.keras tensorflow2推薦使用keras構建網路,常見的神經網路都包含在keras.layer中 最新的tf.keras的版本可能和keras不同 import tensorflow as tf from tensorflow.keras import l...
tensorflow2 0視訊記憶體設定
遇到乙個問題 新買顯示卡視訊記憶體8g但是tensorflow執行的時候介面顯示只有約6.3g的視訊記憶體可用,如下圖 即限制了我的視訊記憶體,具體原因為什麼我也不知道,但原來的視訊記憶體小一些的顯示卡就沒有這個問題。目前的解決辦法是 官方文件解決 然後對應的中文部落格 總結一下,就是下面的兩個辦法...
Tensorflow2 0 啟用函式
常用啟用函式及對應特點 神經網路結構的輸出為所有輸入的加權和,這導致整個神經網路是乙個線性模型。而線性模型不能解決異或問題,且面對多分類問題,也顯得束手無策。所以為了解決非線性的分類或回歸問題,啟用函式必須是非線性函式。神經網路中啟用函式的主要作用是提供網路的非線性建模能力。這是因為反向傳播演算法就...