NetChain
詳細とオプション
- 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 の値を与える.以下は,使用可能な特性である.
-
"Arrays" ネットワーク内の各配列を与える連想 "ArraysByteCounts" 各配列のバイト数を与える連想 "ArraysCount" すべての層に含まれる配列の総数 "ArraysDimensions" 各配列の次元を与える連想 "ArraysElementCounts" 各配列に含まれる要素数を与える連想 "ArraysLearningRateMultipliers" 各配列に対するデフォルトの学習率乗数を与える連想 "ArraysPositionList" 配列の位置指定.NetExtract,NetReplacePart,LearningRateMultipliers等に用いられる "ArraysSizes" 各配列のサイズを与える連想 "ArraysTotalByteCount" すべての層に含まれるすべての配列の総バイト数 "ArraysTotalElementCount" すべての配列に含まれる要素の総数 "ArraysTotalSize" すべての層に含まれるすべての配列の総サイズ "FullSummaryGraphic" 任意の深さにおけるネット内のすべての層の接続性を表すグラフィック "InputForm" ネットを再構成するための式 "InputPortNames" 入力ポート名のリスト "InputPorts" 入力ポート形状の連想 "Layers" ネットワーク内の各層を与える連想 "LayersCount" 層の総数 "LayersGraph" 層の接続性を表すグラフ "LayersList" すべての層のリスト "LayerTypeCounts" ネットワーク内における各層型の出現回数 "MXNetNodeGraph" 基盤となる"MXNet"操作の生のグラフ "MXNetNodeGraphPlot" 注釈付きの"MXNet"操作のグラフ "OutputPortNames" 出力ポート名のリスト "OutputPorts" 出力ポート形状の連想 "Properties" 利用可能な特性 "RecurrentStatesCount" ネット内の再帰状態の数 "RecurrentStatesPositionList" 再帰状態の位置指定であり,NetStateObjectに用いられる "SharedArraysCount" 共有配列の総数 "SummaryGraphic" 層の接続性を表すグラフィック - 特性"ArrayByteCount"と"ArraysTotalByteCount"は,すべての配列をすでに初期化されているかのように扱う.
オプション
情報
例題
すべて開く すべて閉じる例 (1)
スコープ (4)
net = NetChain[{LinearLayer[3], LinearLayer[4]}, "Input" -> 2]net = NetInitialize[net];net[{1.2, 0.23}]net = NetChain[<|"linear1" -> LinearLayer[3], "linear2" -> LinearLayer[4]|>]NetExtract[net, "linear2"]Part構文を使って第1層を取り出す:
net[["linear1"]]net = NetChain[{LinearLayer[10], LinearLayer[20], LinearLayer[30]}, "Input" -> 5]NetTake[net, 2]NetTake[net, -2]ElementwiseLayerとLinearLayerに特別な構文を使う:
NetChain[{3, Tanh, 4, Ramp, 5}]特性と関係 (5)
NetChainオブジェクトをNetGraph内の層として使うことができる:
chain = NetChain[{ElementwiseLayer[Ramp], SummationLayer[]}]NetGraph[{BatchNormalizationLayer[], chain}, {1 -> 2}]入出力ポートが各1つのNetGraphオブジェクトをNetChainオブジェクト内の層として使うことができる:
net = NetGraph[{LinearLayer[3], LinearLayer[3], CatenateLayer[]}, {1 -> 2, {1, 2} -> 3}]NetChain[{ElementwiseLayer[Ramp], net}]NetGraph[chain]を書くことでNetChainオブジェクトを同等のNetGraphオブジェクトに変換することができる:
net = NetChain[{1, 2, 3, 4}]NetGraph[net]NetChainの構築に使われた層はNormalを使って取り出すことができる:
net = NetChain[{1, Ramp, 2, Tanh}]Normal[net]Information[chain,"SummaryGraphic"]を使って,チェーンに内在する接続性を示すGraphics[…]式を得る:
net = NetChain[{2, Ramp, 3, ElementwiseLayer[Log[1 - #]&]}, "Input" -> 4]Information[net, "SummaryGraphic"]おもしろい例題 (1)
サイズ2のベクトル入力を取りサイズ3のベクトル出力を生成するベースネットワークを構築する:
net = NetChain[{30, Sin, 3, Tanh, 3, LogisticSigmoid}, "Input" -> 2]ベースネットワークのランダムに初期化された16個のコピーの表を作る:
nets = Table[
NetInitialize[net, Method -> {"Random", "Weights" -> 3, "Biases" -> 2}, RandomSeeding -> Automatic], 16];それらを位置(x,y)を色の値(r,g,b)にマップする関数として扱って,表形式でプロットする:
row = Range[-2, 2, 0.04];
coords = Tuples[row, 2];
plot[net_] := Image[Partition[net[coords], Length[row]]];
Multicolumn@Table[plot[net], {net, nets}]関連項目
NetModel NetGraph NetInitialize NetTrain NetExtract LinearLayer ElementwiseLayer PerceptronModel NetEncoder NetDecoder
形式: MXNet
Function Repository: NetChainToGraph
テクニカルノート
関連するガイド
-
▪
- コンピュータビジョン ▪
- ニューラルネットワークの操作 ▪
- ニューラルネットワーク層 ▪
- ニューラルネットワーク ▪
- ニューラルネットワークの構築と特性 ▪
- 顕微鏡検査のための画像計算 ▪
- 音声処理 ▪
- 音声解析
テキスト
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
BibTeX
@misc{reference.wolfram_2026_netchain, author="Wolfram Research", title="{NetChain}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/NetChain.html}", note=[Accessed: 13-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_netchain, organization={Wolfram Research}, title={NetChain}, year={2022}, url={https://reference.wolfram.com/language/ref/NetChain.html}, note=[Accessed: 13-November-2026]}