問題タブ [multiple-gpu]
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.
c - OpenCl では、複数の GPU は単一の GPU よりも低速です。どうすれば速くなりますか?
ベクトル加算カーネルを作成し、単一 GPU と複数 GPU で実行しました。ただし、マルチ gpu の場合は、同じ長さのベクトル加算でシングル gpu よりもはるかに遅くなります。
私のコードの構造は、1 つのコンテキスト、1 つのカーネル、および同じ数のデバイスを持つマルチ キューです。
コードは以下です
python - GAN カスタム トレーニング スクリプトの train_step 全体ではなく、グラフの一部で tf.distribute.Strategy.mirroredstrategy を使用することは可能ですか?
私は CTGAN コードを書いていて、分散された方法でトレーニングしたいと考えています。したがって、私はtf.distribute.Strategy.mirroredstrategy()を使用しています。私がフォロー しているtensorflow docs チュートリアルでは、distribute_trainstep() という関数から train_step コードを呼び出し、それを tf.function で装飾する必要があると述べられています。 . そのようです:
これは簡単ですが、tf.function で train_step 内をすべてデコレートすると、train_step 内のすべての numpy コードが役に立たなくなります。私は何をすべきか?train_step 内の関数を選択的にラップするだけの代替手段はありますか? それとも、すべてのnumpy操作をtensorflowのものに置き換える必要がありますか?
python - ImageDataGenerator を使用して Imagenet データを複数の GPU にロードする
フォルダーから Imagenet データセットを読み込んで、ResNet18 モデルでトレーニングしようとしています。Imagenet は大規模なデータセットであるため、データ サンプルを複数の GPU に分散しようとしています。nvidia-smi でトレーニングを確認すると、上記の GPU でトレーニングが開始されていることがわかります。ただし、トレーニングの精度はエポックを超えて向上せず、損失も減少していないようです。x_train、y_train を GPU に配布する際にロードされる方法が原因であると思われます。
x_train, y_train = next(train_generator) が実際に各エポックのすべてのデータセットを反復しているかどうかを調べることに興味があります。そうでない場合は、125(batch_size=125) のデータ サンプルのみをトレーニングしています。
複数の GPU にデータを分散させながら、テンソル データを from_tensor_slices() に効果的にフィードするにはどうすればよいですか。