integerテンソルで初期化すると、Variable
opのGPUカーネルは存在しないようです。たとえば、ランニング:int32変数opのGPUカーネルなし
with tf.device('/gpu:0'):
var = tf.Variable(initial_value=([[1,2],[3,4]]))
sess = tf.Session()
sess.run(var)
は、例外が発生します:
tensorflow.python.framework.errors.InvalidArgumentError: Cannot assign a device to node 'Variable': Could not satisfy explicit device specification '/device:GPU:0' because no supported kernel for GPU devices is available
が、これはTensorFlowのすべての変数は、CPUデバイス(私は推測RAM)に関連付けられたメモリに保存されていることを意味していますGPUメモリではない?変数値がRAMからGPUメモリに何度もコピーされなければならないので、1つのGPUだけを使用してモデルを訓練したいとき、それは遅くなりませんか?
ありがとうございます!
プレースメント戦略が改善されましたか?私は0.11であり、これと同じ問題です...私の最大の不満は、 'embedding_lookup'も' int32'パラメータ( 'tf.slice'など)を持っているので、RNNs GPU上で完全に実行されることはありません。 –