3.1 張量、計算圖、會話

基於Tensorflow的NN:用張量表示數據,用計算圖搭建神經網絡,用會話執行計算圖,優化線上的權重(參數),得到模型。

張量(tensor):多維數組(列表)    階:張量的維數

維數 名字 例子
0-D 0 標量 scalar s=1 2 3 ,表示一個書
1-D 1 向量 vector v=[1,2,3]    表示一維數組
2-D 2 矩陣 matrix m=[[1,2,3],[4,5,6],[7,8,9]] 表示二維數組
n-D n 張量 tensor t=[[[.....     注:n個[代表n階

張量可以表示0階到n階數組(列表)

  • 數據類型:tf.float32      tf.int32  加法實例的計算:
import tensorflow as tf
a = tf.constant([1.0,2.0])
b = tf.constant([3.0,4.0])

result = a+b
print result

顯示:

Tensor("add:0",shape=(2,),dtype=float32)

計算圖只描述了計算過程,不運行計算結果

下面運行第一個tensorflow框架的實例:

會話(Session):執行計算圖中的節點運算

  1 import tensorflow as tf
  2 x = tf.constant([[1.0,2.0]])
  3 w = tf.constant([[3.0],[4.0]])
  4 y = tf.matmul(x,w)     # 實現矩陣乘法運算
  5 print y
  6 with tf.Session() as sess:
  7     print sess.run(y)
                        

運行後,會出現結果,同時也出現了一些warning,原因在於電腦支持一些加速的指令,但是運行代碼時,並沒有啓動這些指令,因此可以把這些提示暫時屏蔽掉,方法如下,進入bashrc文件,進入的方法如下:

vim ~/.bashrc

然後在該文件中加入:

export TF_CPP_MIN_LOG_LEVEL=2

以降低tensorflow的提示等級,然後ESC鍵:wq  保存退出後,在終端中輸入:

source ~/.bashrc

即實現設置生效的作用。再運行上述代碼時,即只會出現結果,而不會出現相關的warning的提示信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章