一:基本概念
tensorflow是乙個程式設計系統,利用圖來表示計算任務,圖中的節點稱之為op(operation),乙個op獲得乙個或者多個tensor(資料),執行運算產生乙個或者多個tensor。tensor看做乙個n維的陣列或者列表。圖必須在會話(session)中被啟動。
二:一些基礎操作
(一)定義乙個op
import tensorflow as tf
m1=tf.constant([[3,3]])#建立乙個常量1行2列的矩陣
m2=tf.constant([[2],[3]])#2行1列的矩陣
product=tf.matmul(m1,m2)#矩陣相乘的op
print(product)
這樣輸出的結果是
tensor("matmul:0", shape=(1, 1), dtype=int32)
(二)定義乙個會話,啟動預設圖
#定義乙個會話,啟動預設圖
sess=tf.session()
#呼叫sess的run方法來執行矩陣乘法op
result=sess.run(product)
print(result)
sess.close()#記得關掉會話
result = sess1.run(product)
print(result)
更為常用的方法,可以自動關閉會話
[[15]]
(三)變數的定義和使用
x=tf.variable([1,2])
a=tf.constant([3,3])
sub=tf.subtract(x,a);
add=tf.add(x,sub)
#變數的初始化十分重要,當程式中有多個變數時,可以只呼叫這乙個函式就初始化所有的變數
init=tf.global_variables_initializer()
with tf.session() as sess2:
sess2.run(init)
print(sess2.run(sub))
print(sess2.run(add))
[-2 -1]
[-11]
(四)實現變數的自增
new_value=tf.add(state,1)#定義乙個op
update=tf.assign(state,new_value)
init=tf.global_variables_initializer()
with tf.session() as sess3:
sess3.run(init)
print(sess3.run(state))
for _ in range(5):
sess3.run(new_value)#這句寫不寫對結果沒有影響
sess3.run(update)
print(sess3.run(state))
012
345
(五)fetch和feed
fetch就是乙個會話執行多個op
input1=tf.constant(3.0)
input2=tf.constant(2.0)
input3=tf.constant(5.0)
add=tf.add(input2,input3)
mul=tf.multiply(input1,add)
with tf.session() as sess4:
result=sess4.run([mul,add])
print(result)
#建立佔位符
input1=tf.placeholder(tf.float32)
input2=tf.placeholder(tf.float32)
output=tf.multiply(input1,input2)
with tf.session() as sess5:
#feed的資料以字典的形式傳入
print(sess5.run(output,feed_dict=))
Tensorflow學習 基本函式
學習tensorflow對遇到的函式的總結 不斷更新中 目錄 tf.truncated normal函式 tf.variable函式 tf.nn.conv2d函式 tf.placeholder函式 tf.nn.max pool 2 2函式 tf.constant函式 tf.nn.relu函式 tf....
tensorflow學習 《基本用法》
最近嘗試用dqn ddqn演算法時,發現tensorflow部分有點模糊,正好忙完了一段時間亂七八糟的事,靜下來心重新完整的學一遍tensorflow 首先tensorflow是做圖計算的 階數學例項 數學例項 0純量 只有大小 s 483 1向量 大小和方向 v 1.1,2.2,3.3 2矩陣 資...
TensorFlow學習筆記(一) 基本概念
tensorflow學習筆記 一 基本概念 tensorflow用張量這種資料結構來表示所有的資料。用一階張量來表示向量,如 v 1.2,2.3,3.5 如二階張量表示矩陣,如 m 1,2,3 4,5,6 7,8,9 可以看成是方括號巢狀的層數。1 編輯器 編寫tensorflow 實際上就是編寫p...