基於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的提示信息。