BatchSize
詳細
- BatchSizen と指定して n 個の例を一緒に処理するように指定する.
- デフォルト設定のBatchSize->Automaticは,使用可能なGUPやシステムメモリ等の要因に基づいてBatchSizeを選ぶように指定する.
- ネットの評価時に,net[input,BatchSize->n]を使ってBatchSizeを指定することができる.これは,TargetDevice->"GPU"でGPU計算もまた指定されている場合には,メモリも制限されるのが普通なので,重要になることがある.
- ("Varying"で指定されることが多い)動的次元を含むネットについては,一般に,BatchSizeとして自動的に16が選ばれる.
- BatchSizeは,訓練が"BatchSize"特性を介してNetTrainResultsObjectから得られる場合に使われる.
例題
すべて開く すべて閉じる例 (1)
単一層のニューラルネットワークを定義し,このネットワークをBatchSize300で訓練する:
net = NetChain[{100, Tanh, 100, Tanh, 1}, "Input" -> "Scalar", "Output" -> "Scalar"];
trainingData = Table[i -> Sin[i], {i, -Pi, Pi, Pi / 300.}];
trained = NetTrain[net, trainingData, BatchSize -> 300]trained[Pi]特性と関係 (1)
NetTrainは,一般に,バッチサイズが大きい方が1秒あたりに処理できる入力数が多くなるが,その場合はメモリ使用量も多くなる.BatchSize1で単純なネットを訓練する:
net = LinearLayer[];
data = Thread[RandomReal[1, 2000] -> RandomReal[1, 2000]];trained = NetTrain[net, data, MaxTrainingRounds -> 4, BatchSize -> 1];//AbsoluteTimingBatchSize1000を使う:
trained = NetTrain[net, data, MaxTrainingRounds -> 4];//AbsoluteTimingこれは,NetTrainが処理する1秒あたりの例の平均を返すことで見ることもできる:
NetTrain[net, data, "MeanExamplesPerSecond", MaxTrainingRounds -> 4, BatchSize -> 1]NetTrain[net, data, "MeanExamplesPerSecond", MaxTrainingRounds -> 4, BatchSize -> 1000]タスクによっては,GPUで訓練している場合に,バッチサイズを大きくしても最終的なネットの質にわずかなメリットしかなく,使用可能なメモリを使い尽くしてしまうことがある.さらに,バッチサイズが分散の少ない勾配の推定をするだけ十分に大きいなら,その範囲内でバッチサイズを小さくして,より頻繁にアップデートした方が与えられた訓練時間が有効に使えることがある.
テクニカルノート
関連するガイド
テキスト
Wolfram Research (2016), BatchSize, Wolfram言語関数, https://reference.wolfram.com/language/ref/BatchSize.html (2018年に更新).
CMS
Wolfram Language. 2016. "BatchSize." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2018. https://reference.wolfram.com/language/ref/BatchSize.html.
APA
Wolfram Language. (2016). BatchSize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BatchSize.html
BibTeX
@misc{reference.wolfram_2026_batchsize, author="Wolfram Research", title="{BatchSize}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/BatchSize.html}", note=[Accessed: 16-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_batchsize, organization={Wolfram Research}, title={BatchSize}, year={2018}, url={https://reference.wolfram.com/language/ref/BatchSize.html}, note=[Accessed: 16-August-2026]}