通常の実行オプティマイザopが、我々はいくつかのモデルのトレーニング可能パラメータを更新するための入力として、オプティマイザの操作を実行コマンドを呼び出しますGPUメモリに収まらない。 このタスクを分割して、大きなバッチサイズを処理するにはどうすればよいですか?tensorflow大きなバッチ
0
A
答えて
0
これは主にGPUのメモリサイズに依存します。ただし、モデルとその必要な操作(つまり確率の予測)とともにデータセット全体を合わせるのは難しいです。したがって、異なる視点でバッチ処理を考える必要があります。代わりにtrain_step
へのごfeed_dict
としてX
とy
を使用しての
# Model Definition
X = tf.placeholder(tf.float32, shape=[None, DIM,DIM,3], name='X')
y = tf.placeholder(tf.float32, shape=[None, N_CLASSES], name='y')
...
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
...
# Training your model
sess.run([train_step], feed_dict={X: X_batch, y: y_batch})
:私はあなたのコードは、これらの線に沿って行くと仮定します。すべてのバッチ(つまり、データセット全体)に対してcross_entropy
を蓄積するだけです。その後、train_step
を1回実行することができます。例:
cross_entropy_all = []
for X_batch, y_batch in batches_generator():
cross_entropy_all += sess.run([cross_entropy], feed_dict={X: X_batch, y: y_batch})
# Numpy or Tensorflow equivalent for `vstack`
cross_entropy_all = np.vstack(cross_entropy_all)
# Run the optimizer on the entire dataset (not just on a specific batch)
sess.run([train_step], feed_dict={cross_entropy: cross_entropy_all})
これは、GPUをメモリから使い果たすことなく目標を達成する必要があります。提案されたアプローチは、すべてのクロスエントロピーに対して最適化ステップを実行する。したがって、XとY(これはすでに最適化ステップに供給されているため、cross_entropy
を生成するために使用/必要です)を送る必要はありません。
関連する問題
- 1. Tensorflowバッチ引数
- 2. Tensorflowバッチ標準化
- 3. バッチ正規化 - Tensorflow
- 4. バッチ・4DテンソルTensorflowインデクシング
- 5. TensorflowのRNNとバッチ
- 6. TensorFlowのバッチ正規化
- 7. Tensorflowバッチ正規化:tf.contrib.layers.batch_norm
- 8. Tensorflow ResourceExhaustedError最初のバッチ後
- 9. Tensorflowバッチ行列の乗算
- 10. Tensorflow - バッチ処理の問題
- 11. TensorFlowバッチ正規寸法
- 12. TensorFlowバッチの画像操作
- 13. CassandraバッチInvalidQueryException - バッチが大きすぎます
- 14. 大きなスクリプトを小さなバッチに分割する
- 15. tensorflowで新しいバッチを作っ
- 16. Tensorflowトレーニングデータをバッチに分割する
- 17. Tensorflow - CONV機能のtf.matmulとバッチMATMUL
- 18. Tensorflowの体積バッチ正規化
- 19. Tensorflowにおけるバッチ相互相関
- 20. Tensorflow - データセットをバッチする方法
- 21. 大きなSQLコードからSQLバッチを作成する
- 22. 最大プールグラジエントエラー(Tensorflow 0.9rc0)
- 23. Tensorflowバッチ処理を行わない複数のサンプル
- 24. Tensorflowでモデルバッチをバッチでトレーニングする簡単な例は?
- 25. Tensorflowグラフが大きくなりすぎる
- 26. Tensorflowで大きなデータセットを使用する
- 27. Tensorflowで大きなデキューされた変数を再利用
- 28. TensorFlow PoolAllocator膨大な数のリクエスト
- 29. neo4jバッチの最大制限
- 30. 大きなバッチのテキストコンテンツのOutlook電子メール(.msg)を掻き集める