Python Tensorflow没有像Pytorch那样检测GPU

Python Tensorflow没有像Pytorch那样检测GPU,python,tensorflow,pytorch,gpu,Python,Tensorflow,Pytorch,Gpu,ubuntu 18.04, nvidia mx150, cuda 10.1, tensorflow是使用$pip安装tensorflow和$pip安装tensorflow gpu安装的。 问题是它没有检测到GPU,但当使用pytorch进行尝试时,它会检测到GPU。似乎找不到问题。 提前谢谢。 编辑1-我已将CUDA_VISIBLE_设备设置为0,我可以手动检测GPU,但tensorflow无法,我尚未尝试源代码构建选项。有多种方法可用于检查tensorflow是否检测GPU。请尝试以下内容并

ubuntu 18.04, nvidia mx150, cuda 10.1, tensorflow是使用
$pip安装tensorflow
$pip安装tensorflow gpu
安装的。 问题是它没有检测到GPU,但当使用pytorch进行尝试时,它会检测到GPU。似乎找不到问题。 提前谢谢。


编辑1-我已将CUDA_VISIBLE_设备设置为0,我可以手动检测GPU,但tensorflow无法,我尚未尝试源代码构建选项。

有多种方法可用于检查tensorflow是否检测GPU。请尝试以下内容并更新问题,在此基础上我将进一步更新我的答案

with tf.Session() as sess:
  devices = sess.list_devices()
而且

如果您能够检测GPU,但TensorFlow未设置为GPU,则环境变量可能存在问题。有相当多的线程讨论如何为TensorFlow设置GPU

从-

  • 使用CUDA_VISIBLE_DEVICES环境变量。通过设置环境变量CUDA_VISIBLE_DEVICES=“1”仅使设备1可见,通过设置CUDA_VISIBLE_DEVICES=“0,1”使设备0和1可见。在python中,可以通过在导入os包后使用一行os.environ[“CUDA_VISIBLE_DEVICES”]=“0,1”来实现这一点

  • 与tf.device('/gpu:2')一起使用并创建图形。然后它将使用GPU设备2运行

  • 使用config=tf.ConfigProto(device_count={'GPU':1}),然后使用sess=tf.Session(config=config)。这将使用GPU设备1

  • 最后,如果上述任何一项都不能解决问题,那么请查看官方TensorFlow回购协议。有人在这里回答说,他们的问题在从源代码构建TensorFlow之后得到了解决。关于如何做到这一点

    from tensorflow.python.client import device_lib
    print(device_lib.list_local_devices())