Tensorflow 基礎教程(1)

2021-08-02 02:26:17 字數 1702 閱讀 6821

在使用tensorflow之前先了解下tensorflow的幾個基礎知識:

1 使用圖(graph)來表示計算

2 在回話(session)中執行圖

3 使用張量(tensor)來代表資料

4 通過變數(variables)維護狀態

5 通過供給(feeds)和取回(fetches)將資料傳入或傳出任何操作

實際上,可以將編寫tensorflow**總結為兩部:

1 組裝乙個graph

2 使用session來執行graph中的operation

1 graph and session

(1) 計算圖

假設需要計算乙個表示式(e=

(a+b

)∗(b

+1) ),包含兩個加法和乙個乘法。

當需要計算e時就需要計算c=

a+b 和d=

b+1 ,而計算c時就需要計算a與b,計算d時就需要計算b。這樣就形成了依賴關係,這種有向無環圖就叫做計算圖。

(2)概念說明

tensor: 型別化的多維陣列,可以看作為圖的邊

operation:執行計算的單元,圖的點

graph:一張有邊和點的圖,其表示了需要進行計算的任務。

session:會話,用於執行圖

注意:

graph僅僅定義了所有operation和tensor的流向,沒有進行任何計算。而session根據graph的定義分配資源,計算operation,得出結果。每個operation至少有0個輸入,0個輸出。tensor就是其輸入輸出,並且除了variable指向的tensor外所有的tensor在流入下乙個節點後都不再儲存。

2 資料結構

(1)rank 張量的階

rank一般指資料的緯度,其與線性代數的rank不一樣,

rank

數學形式

0常量 scalar

1向量 vector

2矩陣 matrix

33維tensor(如 32*32*3)

(2) shape 形狀

(3)資料型別

其中: tf.uint8 : 8位無符號。 tf.int8 8位有符號

3 variables

(1) 當訓練模型時,需要使用variables儲存與更新引數。variables儲存在記憶體中,所有tensor一旦擁有variables的指向,就不會在session中丟失。可利用tf.variable()來進行初始化

(2) 初始化

實際在初始化中做了好多任務作:初始化空間,賦初值(等價於tf.assign),並把variable新增到graph等。

初始化操作是在計算前,一般在定義graph時定義graph時定義global_variables_initializer,會在session運算時,初始化所有變數,如果僅僅想初始化部分變數,使用tf.variables_initializer

4 placeholder和feed_dict

定一張圖時,有時候需要手動輸入一些值,這時就需要placeholder和feed_dict了。

先定義乙個placeholder,tf.placeholder(dtype, shape, name)

再利用feed_dict賦值: sess.run(result, feed_dict=)

Linux基礎教程 1

今天我來寫乙個檔案壓縮和解壓的命令 tar命令和vim編輯器教程 tar命令可以為linux的檔案和目錄建立檔案。利用tar,可以為某一特定檔案建立檔案 備份檔案 也可以在檔案中改變檔案,或者向檔案中加入新的檔案。tar最初被用來在磁帶上建立檔案,現在,使用者可以在任何裝置上建立檔案。利用tar命令...

canvas基礎教程知識(1)

基本用法 使用canvas,必須設定width和height,置頂圖形大小區域。不可在style中設定寬高。在body中 6接下來要在整塊畫布中繪圖,就要去的上下文聯絡,需要呼叫getcontext 方法。js var drawing document.getelementbyid canvas v...

(1)pandas 基礎教程

右擊桌面上選擇 open in terminal 開啟終端。在彈出的終端中輸入 ipython 進入python的直譯器中,如圖1所示。圖1 ipython直譯器匯入實驗常用的python包。如圖2所示。import pandas as pd pandas用來做資料處理。import numpy a...