我创建了一个tensorflow图,并尝试在安装了tensorflow-GPU conda环境(p3.2xlarge)的Amazon EC2实例上运行它。 不幸的是,实际的GPU利用率似乎非常低。它在0-11%之间振荡。 200个步骤的平均时间为54秒。 GPU-util
用R编写的相同脚本在计算机上运行的参数相同:平均GPU利用率约为60%,每200步的时间为7秒。
这种行为的可能原因是什么?为什么python脚本运行慢得多? 是否有可能在翻译过程中(脚本最初是用R(original R code is available here编写的,然后我将其重写为python))使用了一些需要CPU的结构,因此计算速度大大降低了(因为CPU- GPU传输)?
编辑: 经过一些调查后,它可以在tensorflow-gpu-1.5上按预期工作。将库升级到1.8后,速度变慢。
设备映射显示609个操作,其中只有2个映射到CPU:
count_nonzero/Sum: (Sum): /job:localhost/replica:0/task:0/device:CPU:0
count_nonzero/Const: (Const): /job:localhost/replica:0/task:0/device:CPU:0