1.tensorflow ImportError: DLL load failed:
这几天安装GPU版的tensorflow(以下简称tf)死活装不上(请大家注意发文日期)
import tensorflow提示ImportError: DLL load failed: 找不到指定的模块
更换各种版本的tensorflow-gpu均会报错,查找各种教程,比如降低tensorflow版本,输入pip install tensorflow==1.10,岂不是装回了cpu版(手动笑哭,请大家一定要小心)
后来在TF官网上发现目前tf只支持到cuda10.0,but我安装的是cuda10.1,所以在控制台卸载带有cuda的程序,然后在NVIDIA官网重新下载cuda10.0,以及对应支持cuda10.0的cudnn7(此处注意),就大功告成了。
2.其他要注意的地方
cudnn下载后一定要把cudnn里面文件复制到GPU_Computing_Toolkit_CUDA_v10.0文件夹下对应的子文件夹中,然后在环境变量Path中添加cuda的bin文件夹路径(…\bin,如果环境变量中存在就不用添加)
3.验证GPU版tensorflow和pytorch是否安装成功:
# 验证GPU版Pytorch是否可用
import torch
from torch.backends import cudnn
a = torch.tensor(1.)
print(a.cuda()) # tensor(1., device='cuda:0')
# 检验cuda是否可用
print(cudnn.is_available()) # True
print(cudnn.is_acceptable(a.cuda())) # True
# 返回当前设备索引
print(torch.cuda.current_device()) # 0
print(torch.cuda.device(0)) # <torch.cuda.device at 0x2911be4cd30>
# 返回gpu数量
print(torch.cuda.device_count()) # 1
# 返回gpu名字,设备索引默认从0开始;
print(torch.cuda.get_device_name(0)) # 'GeForce GTX 1660'
# 控制台输入nvcc --version可以查看cuda版本号 v10.1.168
os.system("nvcc --version")
# 验证GPU版Tensorflow是否可用
import tensorflow as tf
from tensorflow.python.client import device_lib
print(tf.__path__)
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "99"
if __name__ == "__main__":
print(device_lib.list_local_devices())