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

2 Ansichten (letzte 30 Tage)
HY
HY am 5 Jul. 2021
Kommentiert: HY am 12 Jul. 2021
こんにちは。 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になっているのか疑問です。
勉強不足で申し訳ありませんが、教えて頂けると幸いです。宜しくお願い致します。

Akzeptierte Antwort

Kenta
Kenta am 10 Jul. 2021
こちらのページをご参照ください。2というのはnumOutputsに対応していて、今回は、訓練する画像とそのラベル(BBOX)情報が取り出されるのではないでしょうか。バッチサイズに関してですが、こちらは、例えば、30のサンプルがあったとして、16をミニバッチサイズとしたら、最後の取り出しでは14しかないので、その値になっている、というふうなことではないでしょうか。
  1 Kommentar
HY
HY am 12 Jul. 2021
kenta様。
ご回答頂きありがとうございます。
なるほど、2点とてもわかりやすく、理解できました。ありがとうございます。
next関数はmbqでミニバッチごとに作成したデータ?を取り出す処理であっていますでしょうか?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu イメージを使用した深層学習 finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!