浏览量:4612 最近编辑于:2022-06-15 19:29:06
# 简介
最近电脑重装,重新装了下**深度学习数件套**,结合之前安装遇到的一些问题和踩过的坑,决定写一篇安装教程。以下安装建议按照顺序进行,否则会有不必要的兼容性问题。软硬件环境如下:
- Windows 10
- NVIDIA MX350
# CUDA
首先打开N卡的控制面板界面,点击左下角的**系统信息**,如下图所示:
![](/files/album/20200730-1.png)
接着点**组件**,找到NVCUDA.DLL一项,查看显卡支持的最高版本号的CUDA版本,笔者的显卡支持的CUDA版本最高为10.2,如下图:
![](/files/album/20200730-2.png)
**接下来是很重要的一步,不可跳过!**
打开[https://tensorflow.google.cn/install/source_windows](https://tensorflow.google.cn/install/source_windows "https://tensorflow.google.cn/install/source_windows")网站,查看tensorflow各版本适合的CUDA版本和cuDNN版本:
![](/files/album/20200730-3.png)
此时可以看到,截至目前在Windows上适配的比较好的最高版本是tensorflow-gpu-2.0.0、CUDA 10、cuDNN 7.4。注意!虽然我之前查看显卡支持的CUDA最高版本为10.2,但是我们仍需下载CUDA 10.0,否则可能会有兼容性问题,这里踩了不少坑?,总之按照官网推荐的来就行。
CUDA各版本的官网是[https://developer.nvidia.com/cuda-toolkit-archive](https://developer.nvidia.com/cuda-toolkit-archive "https://developer.nvidia.com/cuda-toolkit-archive"),找到需要下载的CUDA版本进入下载界面,如下图所示:
![](/files/album/20200730-4.png)
这里我选择local exe安装方式,下载本地exe可能会有点慢,可以选挂梯子或者去网上找安装包。
下载完后直接安装即可。在安装的时候一定要选自定义安装,否则将会安装没必要的东西。安装的选项,可以选择不更新驱动程序
![](/files/album/20200730-5.png)
![](/files/album/20200730-6.png)
# cuDNN
进cuDNN官网查看各版本cuDNN
[https://developer.nvidia.com/rdp/cudnn-archive](https://developer.nvidia.com/rdp/cudnn-archive "https://developer.nvidia.com/rdp/cudnn-archive")
下载相应版本的cuDNN,这里我下载cuDNN7.4.2 for CUDA 10.0。
下载完解压zip文件,进入cuda文件夹可以看见bin、include、lib 三个文件夹,将每个文件夹下的文件复制到CUDA安装目录相应文件里就行了。**注意!是复制每个文件夹下的文件,不是复制文件夹!**
![](/files/album/20200730-7.png)
# Tensorflow-gpu
直接pip安装会很慢,可以选用清华的镜像
`pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu==1.14.0`
上文提到了官网列出的最新适配良好的版本为2.0.0,理应我应该选择2.0.0版本才对,但是2.0.0版本教新,会出兼容性问题,详见文末常见问题,实际还是要以自己GPU支持的CUDA和cuDNN版本为准。所以这里我选择安装**1.14.0**版本。
# Keras
[https://docs.floydhub.com/guides/environments/](https://docs.floydhub.com/guides/environments/ "https://docs.floydhub.com/guides/environments/")这个网站有Keras和推荐的Tensorflow版本供参考。
![](/files/album/20200730-8.png)
笔者按推荐安装Keras 2.3.1版本,直接pip安装即可`pip install Keras==2.3.1`
# 常见问题
* 安装完Keras运行demo,报` np_resource = np.dtype([("resource", np.ubyte, 1)]).... `这样的错误,是因为Numpy版本和Tensorflow版本不兼容导致的,Tensorflow2.0.0以下版本建议将Numpy版本降至1.16.4或更低`pip install -U numpy==1.16.4`
* 运行出现`ImportError: Could not find 'cudart64_100.dll'`错误,是因为Tesorflow-gpu要求的CUDA版本为10.0,建议更换与Tensorflow-gpu匹配的CUDA版本(图3所示),或更换Tensorflow-pu版本,或者检查CUDA是否添加至环境变量
* tensorflow-gpu 2.0.0安装完,运行报错:`tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.`这是因为tensorflow-gpu版本不匹配导致的建议选用教低版本!1.14.0
* 未完,待续......