trainNetwo​rkで大量のイメージ​を学習させる方法はあ​りますでしょうか?

trainNetworkを用いた学習についての質問になります。
下記のURLのように「高さ、幅、チャンネル数、データ数の4次元配列」を入力としているのですが、
データ数を大きくした場合に最大配列サイズの設定を超えているとエラーが生じます。
データ数を分割して複数回学習をする方法も試みたのですが、
データ数の大きい場合にも一度で学習可能な方法がございましたら是非教えて頂きたいです。
よろしくお願いいたします。

 채택된 답변

Kenta
Kenta 2019년 10월 17일

1 개 추천

高さ、幅、とあるので対象は画像でしょうか?それならばひとまずは各画像のサイズを下げて、
望む精度がでるか試してみてはどうでしょうか。もし、それで精度が不十分であれば他の方法を考えれば良いと思います。
訓練時ではなく、4D配列のデータを用意するときにメモリが足りなくなるのですよね?
おそらく対処の方法は対象によってくるので、データの種類や枚数、1データ当たりのサイズ、PCのメモリ、データの例などできる限り詳しく記述いただけると幸いです。

댓글 수: 3

Tamu
Tamu 2019년 10월 17일
ご回答ありがとうございます。
説明不足で申し訳ありません。
データは画像ではなく、2次元の数値配列になります。
サイズは12×12×7×5000,000(12×12の2次元数値配列、7チャンネル、データ数500万)です。
ご記述頂いた通り、上記の4D配列を用意する際にメモリが不足している状況です。
trainNetworkではなく配列に関する質問になりますが、
教えて頂けると幸いです。
よろしくお願いいたします。
【補足】
PCのメモリは4.0GBになります。
Kenta
Kenta 2019년 10월 18일
ご返信ありがとうございます。500万とは非常に大規模ですね。ちなみに
このデータはどのように取得されたのでしょうか?ご自身で取得されたのか、それとも
なにかのデータセットからでしょうか?
例えば、すぐできるものとして、4D配列をdoubleではなく、single型で入れるのはどうでしょうか。メモリ消費が半分になります。また、訓練、検証、テストにわけるとおもうので、訓練データだけなら約7割くらいにデータが減らせるはずです。
または、データストアを使えば解決すると思いますが、どのような形でデータをお持ちかはわからないので、これ以上はわかりません。ひとまず下を試す価値は十分あると思うので、またどのようになったか教えていただけると幸いです。
Tamu
Tamu 2019년 10월 18일
ありがとうございます。
データは数値配列を生成するプログラムを作成し、自ら取得したものです。
教えて頂いた方法で試させていただきます!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

질문:

2019년 10월 17일

댓글:

2019년 10월 18일

Community Treasure Hunt

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

Start Hunting!