net 中のすべての通常の配列をNetSharedArrayオブジェクトに変換する.
NetInsertSharedArrays[net,"prefix"]
新たに共有された全配列の名前に接頭辞を使う.
NetInsertSharedArrays
net 中のすべての通常の配列をNetSharedArrayオブジェクトに変換する.
NetInsertSharedArrays[net,"prefix"]
新たに共有された全配列の名前に接頭辞を使う.
例題
すべて開く すべて閉じる例 (4)
NetInsertSharedArrays[LinearLayer[2, "Input" -> 2]]NetInsertSharedArrays[LinearLayer[2, "Input" -> 2], "Linear/"]NetInsertSharedArrays[NetChain[{2, Ramp, 3}]]より大きいネットで使われるたびに配列が共有されるLSTM層を作成する:
lstm = NetInsertSharedArrays[LongShortTermMemoryLayer[5, "Input" -> {"Varying", 3}]]LSTM層をグラフ中の異なる2つの入力で使用して,結果の状態をCatenateLayerと組み合せる:
NetGraph[<|"lstm1" -> lstm, "lstm2" -> lstm, "last1" -> SequenceLastLayer[], "last2" -> SequenceLastLayer[], "cat" -> CatenateLayer[]|>, {NetPort["A"] -> "lstm1" -> "last1" -> "cat",
NetPort["B"] -> "lstm2" -> "last2" -> "cat"}]特性と関係 (1)
layer = NetInsertSharedArrays[LinearLayer[2, "Input" -> 2]]より大きいネットワーク内で複数回使われても,1セットの重みしか生成されず保存もされない:
net = NetInitialize[NetChain[{layer, Ramp, layer}]]NetExtract[net, {{1, "Weights"}, {3, "Weights"}}]//Map[Normal]もとになっている共有配列はNetExtractを使って抽出することができる:
NetExtract[net, NetSharedArray["Weights"]]//Normalネット全体に含まれる配列に必要なストレージの容量は,単一の配列に必要なストレージの容量と同じである:
Information[{net, layer}, "ArraysTotalSize"]考えられる問題 (1)
BatchNormalizationLayerの"MovingMean"配列および"MovingVariance"配列は共有できない.
共有配列でBatchNormalizationLayerを作る:
sharedBatchNorm = NetInsertSharedArrays[BatchNormalizationLayer[]]net = NetTrain[NetChain[{2, sharedBatchNorm, 2, sharedBatchNorm, 2}], {{0, 1} -> {1, 0}, {1, 0} -> {0, 1}}]{batchnorm1, batchnorm2} = NetExtract[net, {{2}, {4}}]"Scaling"配列および"Biases"配列は共有されたが,"MovingMean"あるいは"MovingVariance"は共有されない:
Normal /@ Information[batchnorm1, "Arrays"]Normal /@ Information[batchnorm2, "Arrays"]テクニカルノート
関連するガイド
テキスト
Wolfram Research (2018), NetInsertSharedArrays, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html (2019年に更新).
CMS
Wolfram Language. 2018. "NetInsertSharedArrays." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html.
APA
Wolfram Language. (2018). NetInsertSharedArrays. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html
BibTeX
@misc{reference.wolfram_2026_netinsertsharedarrays, author="Wolfram Research", title="{NetInsertSharedArrays}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html}", note=[Accessed: 01-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_netinsertsharedarrays, organization={Wolfram Research}, title={NetInsertSharedArrays}, year={2019}, url={https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html}, note=[Accessed: 01-August-2026]}