Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 3.x 在Thinkpad E470中安装Tensorflow后无法使用GPU_Python 3.x_Tensorflow - Fatal编程技术网

Python 3.x 在Thinkpad E470中安装Tensorflow后无法使用GPU

Python 3.x 在Thinkpad E470中安装Tensorflow后无法使用GPU,python-3.x,tensorflow,Python 3.x,Tensorflow,我是TensorFlow的初学者。我的电脑是Thinkpad E 470。我的电脑的显示器是Inter HD Graphics 620,我的电脑的渲染是NVIDIA GeForce 940 MX,它应该支持TensorFlow(GPU版本) 但是,在安装TensorFlow之后。当我尝试运行以下代码时: import tensorflow as tf import os os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152

我是TensorFlow的初学者。我的电脑是Thinkpad E 470。我的电脑的显示器是Inter HD Graphics 620,我的电脑的渲染是NVIDIA GeForce 940 MX,它应该支持TensorFlow(GPU版本)

但是,在安装TensorFlow之后。当我尝试运行以下代码时:

import tensorflow as tf
import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"   # see issue #152
#os.environ["CUDA_VISIBLE_DEVICES"]="-1"
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2,3,4,5"
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
[![enter image description here][1]][1]
反馈是:

print(device_lib.list_local_devices())
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 8429792091945466266
]
下面是另一个代码及其结果:

with tf.device('/gpu:1'):
  a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
  b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
  c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print (sess.run(c))

InvalidArgumentError: Cannot assign a device for operation 'MatMul_1': 
Operation was explicitly assigned to /device:GPU:1 but available devices 
are [ /job:localhost/replica:0/task:0/device:CPU:0 ]. Make sure the device 
specification refers to a valid device.
 [[Node: MatMul_1 = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, 
_device="/device:GPU:1"](a_1, b_1)]]

我的GPU在哪里?谢谢

在双GPU系统上,您需要确保在运行tensorflow之前或运行tensorflow时激活离散GPU。 在linux上,您需要安装
bumblebee
,并在命令前面加上
optrun
。 在windows上,我没有使用过我自己,但本指南看起来很相关:

1)您是如何安装tensorflow的?(精确命令)2)您有哪个版本的CUDA?3) 您有哪个版本的cuDNN?另外,您使用的是什么操作系统?在windows上,这可能很好,但在linux上,您可能需要使用
optrun python
启动python。您是否尝试过使用tf.device('/gpu:0'):而不是使用tf.device('/gpu:1'):?另外,我会尝试将
allow_growth
config选项设置为
False
@MatthewScarpino我会尝试这个命令。但结果仍然是一样的。谢谢。@gunan谢谢你!古南。我已经安装好了。太棒了!