0

私は Theano とディープ ラーニングの初心者で、Theano で実験を実行していますが、GPU を直接使用してデータ拡張を行うことで、エポックごとに費やす時間を短縮したいと考えています。

残念ながら、私は PyCuda を使用できません。そのため、Theano を使用して基本的な Data Augmentation を実行できるかどうかを知りたいです。たとえば、画像の平行移動または回転、その間、Numpy を使用して CPU で scipy 関数を使用していますが、かなり遅いです。

4

1 に答える 1

0

データ拡張が計算グラフの一部であり、GPU で実行できる場合、それは当然 GPU で実行されます。したがって、質問は「GPU で Theano テンソル演算を使用して一般的なデータ拡張タスクを実行することは可能ですか」に絞り込まれます。

適用したい変換が単なる翻訳である場合は、theano.tensor.rollマスキングを続けて使用できます。回転も必要な場合は、空間変換ネットワークのこの実装を見てください。特に_transform関数を見てみましょう。サンプルごとに 1 つの 2x3 変換 (左の 2x2 は回転、右の 1x2 は平行移動) を持つ行列シータを入力として受け取り、回転と平行移動をそれらに適用します。サンプル。その動作が GPU 向けに最適化されているかどうかは確認していません (つまり、その関数のボトルネックが CPU で実行されている可能性があり、ユース ケースには適さない可能性があります) が、これは良い出発点です。

于 2016-08-18T15:51:59.453 に答える