在GPU跑tensorflow出现了这个问题:Cannot assign a device for operation strided_slice_2: node strided_slice_2 (defined at D:\anaconda\lib\site-packages\tensorflow_core\python\framework\ops.py:1748) was explicitly assigned to /device:GPU:1 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0, /job:localhost/replica:0/task:0/device:GPU:0 ]. Make sure the device specification refers to a valid device.
[[strided_slice_2]]
这个问题出现的其中的一个原因是:tensorflow要求CUDA和CUDnn版本不匹配。
例如:
tensorflow-gpu==1.15
对于软件的要求是:
1、NVIDIA® GPU 驱动程序:CUDA 10.1 需要 418.x 或更高版本。
2、cuDNN SDK(7.6 及更高版本)
但是目前我配置的版本是CUDA10.0和CUDNN7.4.1,这将导致tensorflow-gpu无法调用CUDA10.0和CUDNN,以至出现这种报错情况。
友情提示:一定要根据自己实际运行的代码确定tensorflow-gpu的安装版本,然后在tensorflow的官方文档查看支持的CUDA10.0和CUDNN。