DL4J中文文件 模型 頂點

2021-08-31 01:28:01 字數 1567 閱讀 5645

在eclipse dl4j中,頂點是在計算圖中充當節點的一種層。它可以接受多個輸入,提供多個輸出,並且可以幫助構建流行的網路,如inceptionv4。

[原始碼]

l2normalizevertex 在單個輸入上執行l2歸一化。

[原始碼]

l2vertex 計算兩個輸入的l2最小二乘誤差。

例如,在三重嵌入中,你可以輸入乙個錨和乙個pos/neg類,並使用兩個並行的l2頂點來計算兩個實數,這兩個實數可以輸入losslayer來計算三重損失。

[原始碼]

用於從輸入中移除第一列和行的自定義層。這意味著允許從 引入caffe的googlenet。

[原始碼]

在計算圖中增加對張量變形和偏平化能力。這相當於下一層。reshapevertex還確保形狀對於反向傳播是有效的。

[原始碼]

乙個scalevertex用於縮放單個層的啟用大小。

例如,可以在重複塊中縮放resnet啟用,以保持方差在控制之中。

[原始碼]

shiftvertex用於轉換單個層的啟用

人們可以使用它來新增偏置或者作為其他計算的一部分。例如,公路層在兩個地方需要它們。一,門權重有很大的負偏差通常是有用的。(當然,對於這一點,我們可以這樣初始化偏置。)但是,它也需要這樣做:(1-sigmoid(weight input + bias)) () input + sigmoid(weight input + bias) () activation(w2 input + bias) (() is hadamard product) 因此,在這裡,我們可以

乙個做為sigmoid的  denselayer

乙個 scalevertex(-1) 和

乙個 shiftvertex(1) 來完成這一點。

[原始碼]

stackvertex允許堆疊輸入,以便它們可以通過網路**。這對於諸如三重嵌入之類的情況是有用的,其中共享引數不被網路支援。

這個頂點會自動堆疊所有可用的輸入。

[原始碼]

unstackvertex允許對輸入進行拆堆疊,以便它們可以通過網路**。這對於諸如三重嵌入之類的情況是有用的,其中嵌入可以被分離並通過後續層執行。

除了0維度輸入之外,與subsetvertex(子集頂點)相似。stacksize由使用者顯式定義,以適當地計算乙個步驟。

[原始碼]

在迴圈神經網路中使用reversetimeseriesvertex來反轉時間序列的順序。結果,最後乙個時間步長被移動到時間序列的開始,並且第一時間步長被移動到結束。這允許遞迴層反向處理時間序列。

掩碼:輸入可能被遮蔽(以允許在乙個小批量中改變不同的時間序列長度)。在這種情況下,當前輸入(掩碼陣列=1)將恢復到位,填充(掩碼陣列=0)將保持不變。對於長度為n的時間序列,這通常意味著,恢復最初的n個時間步長,並且不修改下面的填充,但是支援更複雜的掩碼(例如[1,0,1,0,…])。

setbackpropgradientsviewarray

public void setbackpropgradientsviewarray(indarray backpropgradientsviewarray)
從提供的輸入獲取當前掩碼陣列。

DL4J中文文件 模型 卷積

神經網路配置中的每一層表示隱藏單元的單元。當層堆疊在一起時,它們代表了乙個深度神經網路。原始碼 一維卷積層。形狀期望的輸入啟用 小批量,通道,序列長度 原始碼 二維卷積層 原始碼 三維卷積層配置 hasbias public boolean hasbias 乙個可選的資料格式 ndhwc ncdhw...

DL4J中文文件 模型 啟用

graphbuilder graphbuilder new neuralnetconfiguration.builder 新增超引數和其他層 addlayer softmax new activationlayer activation.softmax previous input 新增更多的層和輸...

DL4J中文文件 Keras模型匯入 本地層

原始碼 從keras匯入一維本地連線層。keraslocallyconnected1d public keraslocallyconnected1d integer kerasversion throws unsupportedkerasconfigurationexception從keraslay...