Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow在GPT-2程序中未充分利用GPU_Python_Tensorflow_Gpt 2 - Fatal编程技术网

Python Tensorflow在GPT-2程序中未充分利用GPU

Python Tensorflow在GPT-2程序中未充分利用GPU,python,tensorflow,gpt-2,Python,Tensorflow,Gpt 2,我正在运行大型模型(774M)的GPT-2代码。它用于通过交互式_conditional_samples.py链接生成文本样本: 因此,我给出了一个输入文件,其中包含自动选择生成输出的提示。此输出也会自动复制到文件中。简而言之,我不是在训练它,而是在使用模型生成文本。 而且,我使用的是一个GPU 我在这方面面临的问题是,代码没有充分利用GPU 通过使用NVIDIASMI命令,我可以看到下图 这取决于您的应用程序。当batch\u size较小时,GPU利用率较低并不罕见。尝试增加批处理大小以提高

我正在运行大型模型(774M)的GPT-2代码。它用于通过交互式_conditional_samples.py链接生成文本样本:

因此,我给出了一个输入文件,其中包含自动选择生成输出的提示。此输出也会自动复制到文件中。简而言之,我不是在训练它,而是在使用模型生成文本。 而且,我使用的是一个GPU

我在这方面面临的问题是,代码没有充分利用GPU

通过使用NVIDIASMI命令,我可以看到下图


这取决于您的应用程序。当
batch\u size
较小时,GPU利用率较低并不罕见。尝试增加批处理大小以提高GPU利用率

在本例中,您已经在程序中设置了
batch_size=1
。将批处理单元大小增加到更大的数值,并验证GPU的利用率

让我解释一下使用MNIST大小的网络。它们很小,很难为它们实现高GPU(或CPU)效率。批量越大,计算效率越高,这意味着每秒可以处理更多的示例,但统计效率也会降低,这意味着需要处理更多的示例才能达到目标精度。因此,这是一种权衡。对于微小的角色模型,在批大小=100后,统计效率会很快下降,因此可能不值得尝试增加批大小以进行训练。为了进行推断,您应该使用可以使用的最大批量


希望这能回答你的问题。愉快学习。

无法查看代码
交互式条件样本.py
。它说在github上找不到页面。嗨,谢谢你的评论。我已经用链接更新了帖子。你能用nvidia smi中的watch命令运行同样的命令吗。像这样
watch-n0.25 nvidia smi
。看看GPU的使用情况是否有任何变化。似乎没有变化。您可以检查是否安装了tensorflow GPU版本,而不是cpu版本@业余爱好者-希望我们已经回答了您的问题。如果你对答案感到满意,请接受并投票。