minibatchqueueとnext関数について
조회 수: 2 (최근 30일)
이전 댓글 표시
こんにちは。 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になっているのか疑問です。
勉強不足で申し訳ありませんが、教えて頂けると幸いです。宜しくお願い致します。
댓글 수: 0
채택된 답변
Kenta
2021년 7월 10일
こちらのページをご参照ください。2というのはnumOutputsに対応していて、今回は、訓練する画像とそのラベル(BBOX)情報が取り出されるのではないでしょうか。バッチサイズに関してですが、こちらは、例えば、30のサンプルがあったとして、16をミニバッチサイズとしたら、最後の取り出しでは14しかないので、その値になっている、というふうなことではないでしょうか。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 イメージを使用した深層学習에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!