minibatchq​ueueとnext関​数について

こんにちは。 yoloV3を学習させようとしているのですが、その際に出てくるminibatchqueueとnext関数がよくわかりません。 minibatchqueueはなんとなく、学習データをミニバッチサイズに分割してくれる関数のように理解していますが、それで合っていますでしょうか。
mbqTrain = minibatchqueue(preprocessedTrainingData, 2,...
"MiniBatchSize", miniBatchSize,...
"MiniBatchFcn", @(images, boxes, labels) createBatchData(images, boxes, labels, classNames), ...
"MiniBatchFormat", ["SSCB", ""],...
"DispatchInBackground", dispatchInBackground,...
"OutputCast", ["", "double"]);
上記のコードですと前処理した学習データを身にバッチサイズに分割していると思うのですが、preprocessedTrainingDataの横に2が記載されていますが、これは何に関係しているのでしょうか?
また、[XTrain YTrain]=next(mbq)は具体的にどんな処理を行っているのでしょうか。画像とラベルに分割しているのでしょうか?処理後のXTrainの値を見ると[227×227×3×13]となっており、13の値はバッチサイズであると記載されているのですが、私はミニバッチサイズを16と設定しているため、なぜ13になっているのか疑問です。
勉強不足で申し訳ありませんが、教えて頂けると幸いです。宜しくお願い致します。

 Réponse acceptée

Kenta
Kenta le 10 Juil 2021

0 votes

こちらのページをご参照ください。2というのはnumOutputsに対応していて、今回は、訓練する画像とそのラベル(BBOX)情報が取り出されるのではないでしょうか。バッチサイズに関してですが、こちらは、例えば、30のサンプルがあったとして、16をミニバッチサイズとしたら、最後の取り出しでは14しかないので、その値になっている、というふうなことではないでしょうか。

1 commentaire

HY
HY le 12 Juil 2021
kenta様。
ご回答頂きありがとうございます。
なるほど、2点とてもわかりやすく、理解できました。ありがとうございます。
next関数はmbqでミニバッチごとに作成したデータ?を取り出す処理であっていますでしょうか?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Question posée :

HY
le 5 Juil 2021

Commenté :

HY
le 12 Juil 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!