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

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

Accepted Answer

Kenta
Kenta on 17 Oct 2019
高さ、幅、とあるので対象は画像でしょうか?それならばひとまずは各画像のサイズを下げて、
望む精度がでるか試してみてはどうでしょうか。もし、それで精度が不十分であれば他の方法を考えれば良いと思います。
訓練時ではなく、4D配列のデータを用意するときにメモリが足りなくなるのですよね?
おそらく対処の方法は対象によってくるので、データの種類や枚数、1データ当たりのサイズ、PCのメモリ、データの例などできる限り詳しく記述いただけると幸いです。
  3 Comments
Kenta
Kenta on 18 Oct 2019
ご返信ありがとうございます。500万とは非常に大規模ですね。ちなみに
このデータはどのように取得されたのでしょうか?ご自身で取得されたのか、それとも
なにかのデータセットからでしょうか?
例えば、すぐできるものとして、4D配列をdoubleではなく、single型で入れるのはどうでしょうか。メモリ消費が半分になります。また、訓練、検証、テストにわけるとおもうので、訓練データだけなら約7割くらいにデータが減らせるはずです。
または、データストアを使えば解決すると思いますが、どのような形でデータをお持ちかはわからないので、これ以上はわかりません。ひとまず下を試す価値は十分あると思うので、またどのようになったか教えていただけると幸いです。
Tamu
Tamu on 18 Oct 2019
ありがとうございます。
データは数値配列を生成するプログラムを作成し、自ら取得したものです。
教えて頂いた方法で試させていただきます!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!