tensorflow中的基本概念

2022-07-19 01:21:09 字數 1364 閱讀 3211

本文是在閱讀官方文件後的一些個人理解。

nodes in the graph are called ops (short for operations).

an op takes zero or more tensors, performs some computation, and produces zero or more tensors.

模擬:乙個神經元有多個輸入,乙個或者多個輸出。這裡的op可以看作神經元,tensor可以看作輸入的資料。

in tensorflow terminology, a tensor is a typed multi-dimensional array.

for example, you can represent a mini-batch of images as a 4-d array of floating point numbers with dimensions [batch, height, width,channels].

tensor是乙個陣列,每個陣列元素是多維的,其實就是乙個矩陣。

tensorflow程式通常被組織成乙個構建階段和乙個執行階段。在構建階段,op 的執行步驟被描述成乙個圖。在執行階段,使用會話執行執行圖中的op。

1.構建圖從建立op開始。有些op的建立是不需要input的,比如constant。這樣的op被成為源op(source op)。

2.在python中op物件是由op構造器(ops constructors)建立的。op構造器建立乙個op物件時可以傳遞乙個源op作為待構造op物件的輸入。

3.op物件被op構造器建立後是作為乙個node加入到graph中的。tensorflow python 庫有乙個預設圖 (default graph), op 構造器可以為其增加節點。這個預設圖對許多程式來說已經足夠用了。

總結:因為graph是由op物件組成的,所以構建圖的過程其實就是建立op物件的過程,以及如果將這些個op物件連線起來(比如某個op物件作為另外某個op物件的輸入)的過程。

1.因為graph需要在session中啟動。所以為了啟動乙個graph,第一步就是建立session物件。

2.sessoin物件建立的時候如果不制定graph,則使用預設圖(default graph)。

變數用於維護圖執行過程中的狀態資訊。

通常會將乙個統計模型中的引數表示為一組變數。 例如, 你可以將乙個神經網路的權重作為乙個tensor儲存在某個變數中。在訓練過程中, 通過重複執行訓練圖,更新這個 tensor。

可以為任意的op賦值或者從其中獲取資料。

tensor儲存在constants或者variables。就像資料可以放在常量和變數中一樣。放在變數中的資料是可以修改的,放在常量中的資料是不可以修改的。

常量op也算是op吧,只是比較簡單而已。

Fabric private data基本概念

fabric private data利用sidedb來儲存私有資料,相當於在通道之上又提供了一層更細粒度的資料隱私保護機制。本文將介紹fabric private data的引入目的 基本概念與應用場景。目前在hyperledger fabric中實現資料隱私的方法是使用通道。但是官方並不孤立為了...

Fabric private data基本概念

fabric private data利用sidedb來儲存私有資料,相當於在通道之上又提供了一層更細粒度的資料隱私保護機制。本文將介紹fabric private data的引入目的 基本概念與應用場景。目前在hyperledger fabric中實現資料隱私的方法是使用通道。但是官方並不孤立為了...

HyperLedger Fabric基本概念

源自 提供共識服務的網路節點,例如,使用kafka或pbft 維護賬本的網路節點,通常在hyperledger fabric中擔任背書或者記賬角色。檢查交易的合法性,最終將交易提交到區塊鏈中。orderers peers comitter 三者之間關係如下圖所示 fabric中交易的處理過程 在整個...