Android tensorflow 基礎知識學習
阿新 • • 發佈:2019-01-12
今天記錄下tensorflow的一些基本知識
1.匯入tensorflow 庫,且指令碼中新增執行使用的python環境
#!/user/bin/env python
import tensorflow as tf #匯入tensorflow庫
#匯入 mnist 資料集; 資料在linux 根目錄/data下的mnist資料夾下
from tensorflow.examples.tutorials import mnist
mnist_data = mnist.input_data.read_data_sets('/data/mnist', one_hot=True)
2.常量和變數
y = tf.constant() #宣告常量,常量是需要初始化的
y = tf.Variable() #宣告變數,變數是不需要初始化,也不會被編譯器自動初始化
y = tf.placeholder() # 宣告一個佔位符,就是說這個變數可以在後面進行賦值
init = tf.global_variables_initializer() #初始化所有的變數
b = tf.Variable([-.3], dtype=tf.float32) #宣告變數,值為 -0.3 float32 型別
3.執行
sess = tf.Session() #一個session封裝了TensorFlow執行時的控制和狀態
sess.run(args) #開始執行資料流程
sess.close() #關閉session,否則會出現資源洩露
sess.run(add_and_triple, {a:3, b:4.5}) #第一次引數是輸出的結果,第二個操作是輸入的資料
print(args) #輸出,如果沒有session run,則打印出的僅僅是節點,而不是結果
#其中輸出的結果,其實就是某個節點,該節點有其他節點流入,也是可以看作是對應的操作
為了防止遺漏關閉session,可以使用下面方式
with tf.Session as sess:
sess.run(args)
4.tensorflow 一些基本型別
tf.float32 、tf.int8 、 tf.int16 、 tf.int32 、 tf.uint8 、 tf.bool 、
tf.complex64 、 tf.complex128
....
5.基本函式
#陣列宣告
tf.zeros() #宣告全0陣列
tf.ones() #宣告全1陣列
tf.fill([2,3],9) #宣告2行3列的值全為9的陣列
tf.shape() #張量的維度 幾行幾列
#隨機數宣告
tf.random_normal([2,3],stddev=1,seed=1) #宣告隨機數,按照正態分佈方式,陣列元素的標準差為1,均值為預設為0
#矩陣操作
tf.matmul() #矩陣相乘