Training Image Labelerを使っ​て学習用データを作成​しました。それをOb​ject Detection Using Deep Learningを参​考にtrainNet​workを使って学習​させたいのですがどう​すればよいでしょうか​?また、具体的にスク​リプトをどう作成すれ​ばいいのか教えていた​だけますか?

32×32のサイズの画像が57枚入ったデータセットです

4 Comments

Web バージョンのドキュメンテーションですと、上記のようなページを自動翻訳して日本語でご覧になれます。機械翻訳なので多少不自然な言い回しはありますが。
これを参考にして試してみて下さい。サンプルで分からないところがありましたらその時また質問してください。(この質問に追加で結構です)
日本語翻訳を参考にして32×32×3×20のデータセットを作成してtrainNetworkにかけたのですが次のようなエラーが出ました。 エラー: nnet.cnn.layer.Layer>iInferSize (line 261) Layer 4 is expected to have a different size.
エラー: nnet.cnn.layer.Layer.inferParameters (line 53) layers = iInferSize(layers, i, inputSize);
エラー: trainNetwork (line 61) layers = nnet.cnn.layer.Layer.inferParameters(layers);
どういうことでしょうか?
Layer4ということで、4番めに定義している層 (おそらく max pooling 層) でデータサイズの問題が生じているようです。 今回、32x32x3x50000 -> 32x32x3x20 にされたことが関連していると考えられます。
データ読み込み時に、例のまま helperCIFAR10Data 関数を使用されていますでしょうか。(53行目) もしそうであれば、これはCIFAR-10のデータ読み込み専用関数ですので、今回用意されているデータに対して使用する必要はありません。
自前のデータセットを使う場合、 trainNetwork のドキュメントにある1つめ例の初めの部分を参考にしてください。
まず imageDatastore で画像ファイルのあるフォルダを指定します。その後、 splitEachLabel を使って学習/テストに分割します。あとは Object Detection Using Deep Learning で定義されている層を使って trainingNetwork で学習をします。
これでもうまく動作しない場合はまたエラー内容とともにお知らせください。

Sign in to comment.

Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Asked:

on 1 Dec 2016

Edited:

on 5 Dec 2016

Community Treasure Hunt

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

Start Hunting!