參考:
tensorflow安裝教程
tensrflow基礎
關注圖、會話、tensor、變數、feed和fetch。
使用圖(graphs)來表示計算任務、在被稱之為會話(session)的上下文(context)中執行圖、使用tensor表示資料、通過變數(variable)維護狀態;使用feed和fetch為任意的操作賦值或者從其中獲取資料。
參考:tensorflow從入門到精通之——tensorflow基本操作 :
tensorflow簡介:
tensorflow基本使用 :
莫凡tensorflow :
tensorflow-examples: 關注hello world、basic operations、linear regression、****** neural network)
史上最全的tensorflow學習資源彙總:
nlp微軟周明:自然語言處理的歷史與未來
# 建立乙個常量 op, 產生乙個 1x2 矩陣. 這個 op 被作為乙個節點
# 加到預設圖中.
## 構造器的返回值代表該常量 op 的返回值.
matrix1 = tf.constant([[
3.,3
.]])
# 建立另外乙個常量 op, 產生乙個 2x1 矩陣.
matrix2 = tf.constant([[
2.],
[2.]
])# 建立乙個矩陣乘法 matmul op , 把 'matrix1' 和 'matrix2' 作為輸入.
# 返回值 'product' 代表矩陣乘法的結果.
product = tf.matmul(matrix1, matrix2)
tensorflow 是乙個程式設計系統, 使用圖來表示計算任務. 圖中的節點被稱之為op(operation)
乙個 op(operation)獲得 0 個或多個 tensor, 執行計算, 產生 0 個或多個 tensor. 每個 tensor 是乙個型別化的多維陣列.
圖必須在會話 (session)裡被啟動. 會話 將圖的 op(operation) 分發到諸如 cpu 或 gpu 之類的 裝置 上, 同時提供執行 op 的方法. 這些方法執行後, 將產生的 tensor 返回. 在 python 語言中, 返回的 tensor 是 numpy ndarray物件; 在 c 和 c++ 語言中, 返回的 tensor 是 tensorflow::tensor 例項.
session 物件在使用完後需要關閉以釋放資源. 可以使用 「with」 **塊 來自動完成關閉動作.
with tf.session(
)as sess:
result = sess.run(
[product]
)print result
在tensorflow中,變數(variable)是特殊的張量(tensor),它的值可以是乙個任何型別和形狀的張量。與其他張量不同,變數存在於單個 session.run 呼叫的上下文之外,也就是說,變數儲存的是持久張量,當訓練模型時,用變數來儲存和更新引數。除此之外,在呼叫op之前,所有變數都應被顯式地初始化過。
import tensorflow as tf
v = tf.variable([1
,2,3
])#建立變數v,為乙個array
print
(v)#檢視v的shape,不是v的值。結果是:
with tf.session(
)as sess:
sess.run(v.initializer)
#執行變數的initializer。呼叫op之前,所有變數都應被顯式地初始化過。
sess.run(v)
#檢視v的值,結果是:array([1, 2, 3])
除了我們自己填寫變數的值外,一般可以使用tensorflow提供了一系列操作符來初始化張量,初始值是常量或是隨機值。
r = tf.variable(tf.random_normal([20
,10], stddev=
0.35))
#以標準差0.35的正太分布初始化乙個形狀為[20,40]的張量
z = tf.variable(tf.zeros([20
]))#初始化乙個形狀為[20]的張量, 裡面的元素值全部為0.
為了取回操作的輸出內容, 可以在使用 session 物件的 run() 呼叫 執行圖時, 傳入一些 tensor, 這些 tensor 會幫助你取回結果.你也可以在 op 的一次執行中一起獲得多個 tensor而不是逐個去獲取 tensor。
input1 = tf.constant(
3.0)
input2 = tf.constant(
2.0)
input3 = tf.constant(
5.0)
intermed = tf.add(input2, input3)
mul = tf.mul(input1, intermed)
with tf.session(
)as sess:
result = sess.run(
[mul, intermed]
)print result
# 輸出:
# [ 21., 7.]
tensorflow 還提供了 feed 機制, 該機制 可以臨時替代圖中的任意操作中的 tensor 可以對圖中任何操作提交補丁, 直接插入乙個 tensor.feed 使用乙個 tensor 值臨時替換乙個操作的輸出結果. 你可以提供 feed 資料作為 run() 呼叫的引數. feed 只在呼叫它的方法內有效, 方法結束, feed 就會消失. 最常見的用例是將某些特殊的操作指定為 「feed」 操作, 標記的方法是使用 tf.placeholder() 為這些操作建立佔位符.
#建立佔位符
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.mul(input1, input2)
with tf.session(
)as sess:
#feed的資料一字典的形式傳入
print sess.run(
[output]
, feed_dict=
)# 輸出:
# [ 14.]
Datawhale深度強化學習打卡
2.1策略迭代 有兩個步驟,第一步包括策略評估和策略優化,第二部進行策略的優化,代表演算法是sarsa 2.2值迭代 一直只進行bellman optimality equation,迭代出optimal value function後只做一次policy update。代表演算法是q learni...
Datawhale組隊學習Pandas
下面直接展示內聯 片。備註內容為學習後的感想與總結 author xuxt time 2020 12 14l def my func x return 2 x for i in range 5 l.my func i print l 定義 我的函式 輸入x,返回,2x,即輸入1,2,3,4,5可以得...
Datawhale學習計畫 python基礎任務2
1.列表 a.標誌 pop方法 a.pop 刪除列表末尾 a.pop i 刪除某個位置 del del a 2 拷貝b a.copy c.列表相關方法 len list 列表元素個數 max list 返回列表元素最大值 min list 返回列表元素最小值 list seq 將元組轉換為列表 參考...