在cpu上,textsum训练代码(https://github.com/tensorflow/models/tree/master/research/textsum)可以完美运行。

为了在gpu上运行代码以进行更快的培训,我在以下4行中将“ cpu”更改为“ gpu”:
https://github.com/tensorflow/models/blob/master/research/textsum/seq2seq_attention.py#L84
https://github.com/tensorflow/models/blob/master/research/textsum/seq2seq_attention_model.py#L149
https://github.com/tensorflow/models/blob/master/research/textsum/seq2seq_attention_model.py#L217
https://github.com/tensorflow/models/blob/master/research/textsum/seq2seq_attention_model.py#L228

模型仍在训练中,但是再次使用cpu,而不是gpu。 (我通过使用nvidia-smi进行了检查)

请让我知道是否需要更改其他内容以在gpu上进行培训。

最佳答案

更改这些代码行将帮助您在GPU上训练模型

textsum / seq2seq_attention.py

# change this line
# tf.app.flags.DEFINE_integer('num_gpus', 0, 'Number of gpus used.')
tf.app.flags.DEFINE_integer('num_gpus', 1, 'Number of gpus used.')


textsum / seq2seq_attention_model.py

# if self._num_gpus > 1:
#     self._cur_gpu = (self._cur_gpu + 1) % (self._num_gpus-1)
self._cur_gpu = (self._cur_gpu + 1) % (self._num_gpus-1 if self._num_gpus > 1 else self._num_gpus)


参考问题link

关于machine-learning - 在gpu上运行tensorflow textsum模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46866698/

10-11 04:40