win10安装tensorflow-gpu却用CPU运行的解决方法
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、出现问题?
安装好cuda和cudnn后(再默认路径下),安装Anaconda并创建好tensorflow-gpu的虚拟环境,激活环境后安装gpu版本,但是用pycharm在该虚拟环境中运行程序时却显示用CPU运行。试了很多方法,终于找到了问题。
二、可能的原因和解决方案
1.版本不一致
激活并进入该gpu虚拟环境,使用python运行以下代码
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
出现只有CPU环境说明没有GPU的驱动可用,于是检查下tensorflow的版本情况pip3 list
:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}]
pip3 list
如果tensorflow-gpu版本比tensorflow要小,则重装以下tensorflow-gpu版本就可以了
tensorflow 1.10.1
tensorflow-gpu 1.9.0
2.cuda和cudnn没有安装好
这是我自己出现的问题,现象是在检查gpu中出现有可用gpu设备,但是没有显示物理设备,下图红框中的东西没有出现
可能是自己的conda环境中没有安装好cuda和cudnn,重新安装
conda install cudatoolkit=10.1 cudnn=7.6.5
查看是否有装好
conda list
总结
完整版安装教程:https://blog.csdn.net/Xyoutz_/article/details/113792017
训练时可能出现:tensorflow 训练时出现failed to allocate 18.41M (19300352 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
表示显存满了,nvidia-smi查看占用显存的程序,在下方显示占用现存的程序,sudo kill -9 PID(占用程序的ID)即可。