由于之前电脑问题导致系统重装,需要重新安装了GPU版的TensorFlow来跑人脸识别的代码,发现安装过程中与上一次笔记的不同了(有了新的版本匹配),这次是新的配置说明。
系统:Windows10
GPU:NVIDIA GeForce GTX 1050 Ti
Python:Anaconda3-5.0.0-Windows-x86_64,在win上安装py3.6版本。
TensorFlow:tensorflow_gpu-1.13.1
CUDA:CUDA10.0
cudnn:https://developer.nvidia.com/rdp/cudnn-download(需要注册)
这次安装主要遇到一个问题,用简单的代码进行测试:
安装完成之后,导入TensorFlow库没有问题,但是调用GPU设备时就报错提示找不到设备。
运行错误:InvalidArgumentError (see above for traceback): Cannot assign a device for operation add: Operation was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0 ]. Make sure the device specification refers to a valid device.
[[node add (defined at <ipython-input-3-3158f2cabb05>:6) = Add[T=DT_FLOAT, _device="/device:GPU:0"](a, b)]]
百度翻译:InvalidArgumentError(有关回溯,请参阅上面的内容):无法为操作分配设备add:操作已显式分配给/device:gpu:0,但可用设备是[/job:localhost/replica:0/task:0/device:cpu:0]。确保设备规格引用了有效的设备。
[节点添加(定义于<ipython-input-3-3158f2cabb05>:6)=add[t=dt_float,_device=“/device:gpu:0”](a,b)]
后来使用了几种方式,问题终于解决了。
- 把代码中的“with tf.device('/gpu:0'):”改为了“with tf.device(None):”。
- tf.Session中config = tf.ConfigProto(allow_soft_placement=True) ,allow_soft_placement为True时当GPU调用不了时会默认选择CPU调用,而为False时为选择调用GPU。
- 检查安装Cuda 和 cuDNN安装是否有问题,若没问题,卸载tensorflow(CPU与GPU版),再次重装了tensorflow-gpu。
- 检查GPU是否有开启。
文章未经博主同意,禁止转载!