在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/