質問: 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になっているのか疑問です。 勉強不足で申し訳ありませんが、教えて頂けると幸いです。宜しくお願い致します。
回答: https://jp.mathworks.com/help/deeplearning/ref/minibatchqueue.html こちらのページをご参照ください。2というのはnumoutputsに対応していて、今回は、訓練する画像とそのラベル(bbox)情報が取り出されるのではないでしょうか。バッチサイズに関してですが、こちらは、例えば、30のサンプルがあったとして、16をミニバッチサイズとしたら、最後の取り出しでは14しかないので、その値になっている、というふうなことではないでしょうか。