本文是在閱讀官方文件後的一些個人理解。
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中交易的處理過程 在整個...