ここで問題は、ダウンサンプリングの権限がない場合に、このような大きな画像サイズをどのように処理するかです
ダウンサンプリングとは、入力をCNN に渡す前に縮小することを意味すると思います。畳み込み層では、大きなストライドを選択することにより、ネットワーク内の画像をダウンサンプリングできます。これにより、次の層のリソースを節約できます。実際、それがやらなければならないことです。そうしないと、モデルはGPUに適合しません。
1)トレーニングされるこのような大きな画像を処理する技術はありますか?
一般的に研究では、画像を適切なサイズに拡大します。ただし、それが選択肢にならない場合は、CNNを制限する必要があります。初期レイヤーでのダウンサンプリングに加えて、FCレイヤー(通常はほとんどのパラメーターを使用します)を削除して、畳み込みレイヤーを優先することをお勧めします。また、GPUに収まらないため、各エポックでデータをストリーミングする必要があります。
入力が非常に大きいため、これは初期レイヤーでの重い計算負荷を防ぐものではないことに注意してください。畳み込みは高価な操作であり、最初のレイヤーは各フォワードおよびバックワードパスでそれらの多くを実行します。つまり、トレーニングは遅くなります。
2)どのバッチサイズを使用するのが合理的ですか?
別の問題があります。単一の画像の2400x2400x3x4
取得(3チャネルとピクセルあたり4バイト)は〜70Mbなので、バッチサイズ10でさえ余裕はありません。より現実的には5になります。メモリの大部分はCNNパラメーターによって取得されます。この場合、32ビットではなく16ビットの値を使用してサイズを小さくするのが理にかなっていると思います。この方法でバッチを2倍にできるようになります。
3)実行する必要のある予防措置、またはハードウェアリソースの増減はありますか?
ボトルネックはGPUメモリです。別のGPUを購入できる場合は、それを入手して、ネットワークをそれらに分割します。他のすべては、GPUメモリと比較して重要ではありません。