Datawhale《深度學習 NLP》預備任務

2021-09-11 13:32:59 字數 3415 閱讀 5495

參考:

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 將元組轉換為列表 參考...