インテル® DAAL 2017 デベロッパー・ガイド

バッチ処理

層の入力

バックワード 2 次元畳み込み層の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

inputGradient

前の層で計算された入力勾配を格納するサイズ l1 x ... x lp のテンソルのポインター。ここで、li, i ∈ {1, ..., p} は上で定義されます。この入力は、Tensor の派生クラスのオブジェクトです。

inputFromForward

バックワード 2 次元畳み込み層に必要な入力データのコレクション。Tensor の派生クラスのオブジェクトをコレクションに含めることができます。

要素 ID

要素

auxData

フォワード 2 次元畳み込み層の入力データを格納するサイズ n1 × n2 × n3 × n4 のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。

auxWeights

カーネルの重みのセットを格納するサイズ l2 × n2 × m3 × m4 のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。

auxBiases

バイアスのセットを格納するサイズ l2 のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。NULL ポインターを渡した場合、ライブラリーはバイアス関連の変換を適用しません。

層のパラメーター

バックワード 2 次元畳み込み層のパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

float

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

defaultDense

パフォーマンス指向の計算メソッド。層でサポートされている唯一のメソッドです。

kernelSize

KernelSize(2, 2)

2 次元のカーネル・サブテンソルのサイズ mi, i ∈ {3, 4} を表すデータ構造。

spatialDimensions

SpatialDimensions(2,3)

畳み込みカーネルの次元を表すデータ構造。

stride

Stride(2, 2)

カーネルが入力に適用する区間 si, i ∈ {3, 4} を表すデータ構造。

padding

Padding(0, 0)

バックワード 2 次元畳み込みを実行する 2 次元のサブテンソルの各サイズに暗黙的に追加するデータ要素 pi, i ∈ {3, 4} の数を表すデータ構造。

nKernels

n/a

入力層データに適用するカーネルの数。

groupDimension

1

グループを適用する次元。現在サポートしている唯一の値は、1 です。

nGroups

1

次元 groupDimension で入力データが分割されるグループの数。ライブラリーは、同じカーネルのセットをすべてのグループに使用します。

層の出力

バックワード 2 次元畳み込み層は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

gradient

バックワード 2 次元畳み込み層の結果を格納するサイズ n1 × n2 × n3 × n4 のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。

weightDerivatives

バックワード 2 次元畳み込み層の結果 Ε / ∂krcuv を格納するサイズ l2 × n2 × m3 × m4 のテンソルのポインター。ここで、r = {0, ..., l2}, c = {0, ..., n2}, u = {0, ..., m3}, v = {0, ..., m4}。この入力は、Tensor の派生クラスのオブジェクトです。

biasDerivatives

バックワード 2 次元畳み込み層の結果 Ε / ∂br を格納するサイズ l2 のテンソルのポインター。ここで、r = {0, ..., l2。この入力は、Tensor の派生クラスのオブジェクトです。

サンプル

インテル® DAAL ディレクトリーの次のサンプルを参照してください。

C++: ./examples/cpp/source/neural_networks/convolution2d_layer_batch.cpp

Java*: ./examples/java/source/com/intel/daal/examples/neural_networks/Convolution2DLayerBatch.java

Python*: ./examples/python/source/neural_networks/convolution2d_layer_batch.py

関連情報