NetChain
NetChain[{layer1,layer2,…}]
layeriの出力が layeri+1の入力と接続しているニューラルネットを指定する.
NetChain["name1"layer1,"name2"layer2,…]
明示的に名前が付けられた層の鎖からなるネットを指定する.
詳細とオプション
- NetChainの入力は第1層の入力であるとみなされる.
- NetChainの出力は最終層の出力であるとみなされる.
- 中間層はすべて,厳密に1つの入力と1つの出力のポートを持たなければならない.
- NetChain[…][data]は,ネットを data に適用した結果を与える.
- NetChain[…][data,NetPortGradient["Input"]]は入力データに対する出力の勾配を与える.
- 第1層に2つ以上の入力ポートがある場合はNetChainも同じ入力ポートを持つ.
- 最終層に2つ以上の出力ポートがある場合はNetChainも同じ出力ポートを持つ.
- NetChainは,次の特別層指定をサポートする.
-
Ramp,LogisticSigmoid,… ElementwiseLayer[f] n LinearLayer[n] {layer1,layer2,…} NetChain[{layer1,layer2,…}] - Normal[NetChain[…]]は,鎖の構築に使用する層のリストまたは連想を返す.
- NetChainのStandardFormは,鎖の中の層の概要と各層の出力中の配列次元を示す.鎖の中の層をクリックすると,その層についてのその他の情報が表示される.
- 次の任意のパラメータを含めることができる.
-
LearningRateMultipliers Automatic 訓練可能な配列の学習率乗数 - 鎖の全体的な出力配列の形は,NetChainの"Input"->shape オプションと"Output"->shape オプションを使って指定できる.
- shape の可能な形
-
Real 単一の実数 "Integer" 単一の整数 Restricted["Integer",n] 1から n までの整数 Restricted["Integer",{m,n}] m から n までの整数 n 長さ n のベクトル {n1,n2,…} 次元 n1×n2×…の配列 "Varying" 可変長ベクトル {"Varying",n2,n3,…} 可変長で次元 n2×n3×…の配列 NetEncoder[…] エンコーダ(入力のための) NetEncoder[{…,"Dimensions"{n1,…}}] 次元 n1×…の配列にマップされたエンコーダ NetDecoder[…] デコーダ(出力のための) NetDecoder[{…,"InputDepth"n}}] 階数 n の配列に適用されたデコーダ FeatureExtractorFunction[…] 特徴抽出器関数 - Automaticとして与えられる任意の長さ niは,鎖の構造から推測される.
- NetChain[…][data,…,opts]はネットを data に適用する際にオプションを使うように指定する.次は使用可能なオプションである.
-
BatchSize Automatic 入力リストについて一度に評価する入力数 NetEvaluationMode "Test" 評価の実行にどのモードを使うか RandomSeeding Automatic 擬似乱数生成器がある場合はそれをどのようにシードするか TargetDevice "CPU" 評価を行うターゲットデバイス WorkingPrecision "Real32" ネットの評価に使う数値精度 - 次は,WorkingPrecisionの可能な設定である.
-
"Real32" 単精度実数を使う (32-bit) "Real64" 倍精度実数を使う (64-bit) "Mixed" ある種の操作に半精度実数を使う - WorkingPrecision->"Mixed"は,TargetDevice->"GPU"についてしかサポートされないが,この場合は,デバイスによっては極めて大きいパフォーマンスの向上が見られる.
- NumericArrayが入力として与えられると,出力はNumericArrayになる.その場合,数値型はWorkingPrecisionから導かれる.
- NetEvaluationMode->"Training"の設定のとき,DropoutLayer等の層は,通常評価のようにではなく訓練時のように動作する.
- Normal[NetChain[…]]はネットワークの構築に使われた層のリストまたは連想を返す.EdgeList[NetChain[…]]はネットワーク内の接続のリストを返す.
- NetChain[…][[spec]]は,spec で指定された層をネットから抽出する.
- NetChain[…]ネットワークの変換は,NetReplacePart,NetReplace,NetRename,NetFlatten,NetDelete,NetTake,NetDrop,NetInsert等を使って行うことができる.
- Options[NetChain]は層を構築する際のデフォルトオプションのリストを与える.Options[NetChain[…]]はデータについて層を評価する際のデフォルトオプションのリストを与える.
- Information[NetChain[…]]はネットワークについてのレポートを与える.
- Information[NetChain[…],prop]はNetChain[…]の特性 prop の値を与える.使用可能な特性はNetGraphと同じである.
例題
すべて開くすべて閉じるスコープ (4)
Part構文を使って第1層を取り出す:
ElementwiseLayerとLinearLayerに特別な構文を使う:
特性と関係 (5)
Wolfram Research (2016), NetChain, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetChain.html (2022年に更新).
テキスト
Wolfram Research (2016), NetChain, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetChain.html (2022年に更新).
CMS
Wolfram Language. 2016. "NetChain." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/NetChain.html.
APA
Wolfram Language. (2016). NetChain. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetChain.html