cuda、 cudnn安装
版本参数配置
(说明:本配置基于YOLOv3)
1.介绍
tensorflow安装简单,配置难,难在工具的版本对应性上,一定要严格对应!!!
下图为tf对照表,最新情况见测试代码:
2.tensorflow的版本的选择
tensoflow-gpu
连接地址:http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/
tensorflow-cpu
链接地址:https://pypi.org/project/tensorflow/#files
tensorflow安装什么版本主要看CUDA的版本,首先我们查看电脑独显支持的CUDA最高版本:
(1)控制面板,搜索NVIDIA面板(或者直接桌面右下角开始nvida图标实现实际的版本查看)
(2)选择组件,方框中cuda11.0为本机CUDA的最高版本,意思是可以向下兼容;
所以,我这里使用
CUDA 10.0
Python 3.6.5
使用pip3命令安装tensorflow-gpu:
pip3 install tensorflow-gpu==1.6
3.CUDA的安装,
cuda 版本查看:
下载地址:CUDA下载地址:
下载完之后,解压到文件夹,注意,解压完就是一个安装程序,解压完之后会自动跳出安装。
先安装驱动:cuda toolkit驱动(根据cuda版本选择对应的CUDA toolkit版本否则在cuda 安装时“监测系统兼容性”提示找不到显卡)
解压过程:
安装过程:
选择默认路径:
4.cuDNN安装
我们从上面的表格中看到,CUDA10版本对应的是cuDNN7,
下载地址:
(PS:下载的时候需要登录账号,没账号的注册,然后还要做一个小调查之后就可以下载了);
可以看到,对于同一个版本的CUDA,有很多cuDNN,随便啦,我这里选的是cuDNN7.5.0
下载完之后,解压即可
5.环境配置
注意:
- 把cuDNN文件夹下面的bin,include,lib文件夹里面的内容复制到CUDA文件夹下面对应的bin,include,lib文件夹里面文件夹内,一定要注意
- 然后再把CUDA文件夹下面extras\CUPTI\libx64下的cupti64_100.dll 拷贝到 bin目录。
- 配环境
在path中添加c:\program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin 和c:\program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
(即cuda的bin目录和lib目录下的x64目录。注意自己的安装路径)
6.测试
import tensorflow as tf
hello = tf.constant('hello')
sess = tf.Session()
print(sess.run(hello))
sess.close()
参考链接:https://blog.csdn.net/gdc6916/article/details/105384369
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\visual_studio_integration\MSBuildExtensions
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
https://www.pianshen.com/article/9060380361/
未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.0.targets”。请确认 声明中的路径正确,且磁盘上存在该文件。 darknet E:\darknet-master\build\darknet\darknet.vcxproj 307
常见问题
Could not find
. tensorflow遇到ImportError: Could not find 'cudart64_100.dll’错误解决
在实际的安装目录:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
下将cudart64_101.dll右键属性,把它改成:cudart64_100.dll
2.问题Could not load dynamic library …
修改前
修改后
Non-OK-status:
GpuLaunchKernel(FillPhiloxRandomKernelLaunch, num_blocks, block_size, 0, d.stream(), gen, data, size, dist) status: Internal: invalid device function
解决办法
我在配置环境时,最开始安装的是cuda10.1,卸载cuda10.1之后,安装cuda10.0已经对应的cudnn就解决这个问题了。