为什么 op tf.tile() 在 CPU 上总是 运行ning,即使我在 GPU 上设置为 运行
why op tf.tile() is always running on CPU even if I have set to run on GPU
这是我的训练任务的时间线,它显示 op tf.tile() 在 cpu 上是 运行,并且花费了总时间的 1/3。我想优化它以加快训练速度。
timeline from tracing log
with tf.name_scope("key_masking"):
key_masks = tf.sequence_mask(keys_length, tf.shape(keys)[1]) # (N, T_k)
key_masks = tf.tile(key_masks, [num_heads, 1]) # (h*N, T_k)
key_masks = tf.tile(tf.expand_dims(key_masks, 1),
[1, tf.shape(queries)[1], 1]) # (h*N, T_q, T_k)
您可能使用的是 TensorFlow 版本 1.4 或更早版本。 A bool GPU kernel was only added in version 1.5.
这是我的训练任务的时间线,它显示 op tf.tile() 在 cpu 上是 运行,并且花费了总时间的 1/3。我想优化它以加快训练速度。 timeline from tracing log
with tf.name_scope("key_masking"):
key_masks = tf.sequence_mask(keys_length, tf.shape(keys)[1]) # (N, T_k)
key_masks = tf.tile(key_masks, [num_heads, 1]) # (h*N, T_k)
key_masks = tf.tile(tf.expand_dims(key_masks, 1),
[1, tf.shape(queries)[1], 1]) # (h*N, T_q, T_k)
您可能使用的是 TensorFlow 版本 1.4 或更早版本。 A bool GPU kernel was only added in version 1.5.