2016-11-24 13 views
0

私のシナリオはこれです。ビッグデータセット(メモリにロードすることはできません)から2つのイメージを選択し、それらをニューラルネットワークと比較します。各トレーニングサンプルはランダムにで構成され、データセットから2つのイメージが選択されました。このランダムなプロセスは、ケース間の共分散を除去するために必要です。どのようにランダムにアクセスする必要がある大きなデータでネーチャーネットワークトレインを扱うか

しかし、メモリから2つの画像を選択することはできません。コンピュータはデータセットのサイズに余裕がないためです。したがって、私がサンプルを作るたびに、私は遅いディスクにアクセスする必要があります。このディスクアクセス時間は学習プロセスを大きく遅くします。 これまでのところ、私のベスト・アイデアは、ランダムにデータセットを複数の小さなデータセットに分割することです。そして、それぞれのsamllデータセットでニューラルネットワークを1つずつ完全に訓練します。

しかし、訓練されたモデルは、後の小さなデータセットによって混乱する可能性があります。

このランダムな大きなデータシナリオを処理するには良い方法がありますか?

答えて

0

トレーニングのために画像を圧縮するのはどうですか?

ネットワークをトレーニングした後、分類は通常非常に高速です。たとえば、スレッドからnミリ秒ごとに新しいランダムに選択されたイメージを受け取るキューを使用して、一連のイメージを圧縮してメモリにバッファリングしようとすることができます。別のスレッドは、キューからイメージを選択してトレーニング用に処理します。プロデューサー/消費者のパターンは、そのような作業のための良い選択である可能性があります。 トレーニングの後で、分類タスクのオンライン圧縮を行うことができます。これは少しパフォーマンスを低下させますが、分類が通常速いので、十分かもしれません。

関連する問題