問題タブ [data-augmentation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - MRI でデータ拡張を適切に実行し、深層学習用に準備するにはどうすればよいですか?
深層学習 (3D CNN) を使用して脳疾患の分類を実行しようとしています。現在、入力サイズは 96*96*96 に設定されています。これは、元のスキャンのサイズが 256*256*256 であるためです。最初に 192*192*192 にサイズ変更して背景を削除し、次に 2 分の 1 にダウンサンプリングしました。
ただし、私のデータセットには 825 人の被験者しか含まれていません。データセットを十分なサイズに拡張したいのですが、それは私を大いに悩ませました。
まず、96^3 は入力用の 884k ボクセルになります。私の過去の経験から、トレーニング サンプルの数は、入力ユニットの数よりもはるかに多くする必要があります。私の最初の質問は次のとおりです:トレーニング データが入力単位よりも多くなければならない(この場合は 884k よりも多い)ことについて、私は正しいですか?
第二に、データ拡張を実行するために推奨される手法は何ですか? ここまで10度間隔で3軸回転させてみました。しかし、それはデータ サイズを 100 倍にするだけです。
第 3 に、モデルをトレーニングするときに、入力データをリストに追加し、sklearn の train-test-split 関数を使用してそれらを分割していました。別の方法は、keras の ImageDataGenerator.flow_from_directory を使用することです。しかし、今私は 3D データを扱っており、何千もの 3D 配列をまとめてロードする余裕のあるメモリはありません。また、ImageDataGenerator は nifti ファイル形式をサポートしていません。記憶を使い果たすことなく、すべての 3 次元配列をトレーニング用に準備する方法はありますか? (ImageDataGenerator のようなものを想像します。もちろん、これは、データ ジェネレーターが一度に 1 つのバッチでモデルにデータを送信するという私の理解の下にあります。間違っている場合は修正してください)