Tensorflow入門基礎語句及用法

2021-09-19 18:04:59 字數 1395 閱讀 3417

tensorflow顧名思義是張量流動的意思,這裡的tensor雖然翻譯成張量但其實跟向量沒區別。

tensorflow通過構建一張「圖」,這個圖有點類似「樹」的結構。

這裡可以看到圖中有很多節點,我們輸入的資料從根節點(就是最上方的節點)進入。然後流過這些節點。

因為資料一般是以張量的形式流過節點,所以叫它張量流

這些節點是固定的,所以tensorflow是靜態圖。

variable是tensorflow中的變數,通過tf.variable(a),(其中a是任意變數)可以將python中的任意(沒記錯的話應該是任意)資料變成tensorflow中的變數。

變數的意義通過名字可以得知,就是可以改變的量。是主要的資料型別。

佔位符一般人可能沒有聽說過。它的作用很簡單,就是用來填資料用的。如果這樣說不理解可以先放著。

有了這兩個資料型別之後,就可以實現一些基礎的功能了。先放**:

w = tf.variable([2])

b = tf.variable([1])

x = tf.placeholder(tf.float32, [3])

y = tf.placeholder(tf.float32, [3])

y_pre = w * x + b

loss = (y_pre - y)*(y_pre - y)

這段**的前兩行先定義了兩個變數。第一行括號內的[2]是矩陣,這個矩陣的值被賦給w,所以w變成了[2]。

同理,b = [1]。

然後又定義了兩個佔位符,佔位符用來接收輸入。第乙個引數是資料型別,都是32位的浮點數,第二個引數是描述輸入的資料的形狀的。

這裡是乙個一維的矩陣,注意!!!!:跟variable不同的是,這裡的3描述的是這個一維矩陣的長度。

所以x應該接收的是乙個長度為3的一維矩陣,例如:[1,2,4]。

接著是乙個等式,類似於我們中學做的擬合線性函式y = w*x + b,其中的w、b是未知量。

需要我們通過不斷輸入點(x, y)來計算他們的方差,最後計算出誤差最小的w、b。**中的loss就是方差。

總結:變數在tensorflow中作為待優化的量,佔位符則負責接收輸入的資料。

剛才我們利用線性擬合來理解變數和佔位符,其中涉及到乙個優化的概念。其實所謂的優化就是不斷調整w、b的值,

使得最終的函式y = w*x + b能夠正確**輸入的x對應的y。

在tensorflow中,有一類函式可以用來替代我們手工優化的過程,那就是「優化器」。

TensorFlow基礎入門

cpu版本直接pip install tf nightly即可。gpu版本需要安裝顯示卡驅動 cuda cudnn,注意版本。若手動安裝cuda還要將cuda的lib64目錄加入ld library path環境變數。然後使用pip install tf nightly gpu安裝即可。在pytho...

TensorFlow基礎入門(一)

建立乙個常值運算,將作為乙個節點加入到預設計算圖中 hello tf.constant hello,world 建立乙個tf對話 sess tf.session 執行並獲得結果 print sess.run hello 輸出 b hello,world b表示bytes literals 位元組文字...

Tensorflow 入門記錄

tensor為張量,flow為流圖。tensorflow內含有很多寫好的工具,如梯度下降演算法,卷積操作等。在使用tensorflow時,先導入包import tensorflow as tf,在進行定義tensorflow變數時,使用tf.variable 引數 有趣的是乙個叫做佔位符的工具,tf...