安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第1张图片

做机器学习的朋友一定绕不开Tensorflow和Keras,跑模型又会要用到GPU的CUDA框架,其中各种版本兼容问题经常导致刚从一个坑里出来,又立刻掉到另一个坑里.....

于是,踩坑无数的我,总结了一篇教程,希望可以帮助到大家少走些弯路。

1. 确认显卡是否支持CUDA

NVIDIA官网有明确标出支持CUDA的显卡都有哪些,直接去官网查询自己的显卡型号是最高效的(只要在列表里出现了就是支持的),附链接:

CUDA GPUs​developer.nvidia.com
安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第2张图片

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第3张图片
我自己的是GTX 2070s,可以查到是支持CUDA的

确认显卡支持就可以进入下一步了;如果显卡不支持,Tensorflow也提供了cpu版本供大家使用(就那个没有-gpu后缀的)

2. 安装VS

CUDA运行的时候需要VS的环境,所以要先安装Visual Studio,下载链接:

Visual Studio IDE、代码编辑器、Azure DevOps 和 App Center - Visual Studio​visualstudio.microsoft.com
安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第4张图片

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第5张图片
选择Community版本就行了

下载完成,开始安装:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第6张图片
选择这三个部件就行

安装完毕:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第7张图片

现在可以开始准备安装CUDA了

3. 检查显卡支持的CUDA版本号

在下载驱动之前要先检查一下自家显卡支持什么版本的CUDA。

查询步骤:开始菜单 - 设置 - 控制面板 - 硬件和声音 - NVIDIA控制面板 - 帮助 - 系统信息 - 组件 - 查‘NVCUDA ALL’后面跟的产品名称:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第8张图片
只要能打开控制面板就行,打开过程随意

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第9张图片
找到NVDIA的控制面板,这里没有的话可以去任务栏合并的图标里翻翻

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第10张图片
帮助里有显卡的系统设置

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第11张图片

4. 下载CUDA Toolkit工具

再次前往NVIDIA官网,附上链接:

CUDA Toolkit 9.0 Downloads​developer.nvidia.com

这次我们去下载显卡驱动。

依次选择:操作系统,构架,CUDA Toolkit版本(版本号对应上一步查到的产品名称),安装方式(选择本地即可):

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第12张图片
我的是cuda 10,这里直接选择Base Installer下载

安装步骤:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第13张图片
修改路径后,点击OK

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第14张图片
惯例的许可协议,同意并接受

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第15张图片
之后一直点击下一步即可

5. 下载cuDNN

还是在NVIDIA官网,这次是这个链接:

NVIDIA cuDNN​developer.nvidia.com
安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第16张图片

cuDNN在下载的时候需要登陆账号,如果没有注册过帐号的小伙伴需要注册一下账号(如果注册过的小伙伴请忽略)。

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第17张图片
注册之后需要填填问卷,一步一步按要求来就行

注册好了之后,根据CUDA Toolkit工具的版本选择cuDNN版本,找到操作系统对应的Library版本,点击下载:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第18张图片

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第19张图片
我的是10.1,windows 10

下载下来的是个压缩包,先解压:

7ed36f31db61bd8dbd6d043b963832ee.png

然后需要把bin文件添加到环境变量里:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第20张图片

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第21张图片

6. 安装Anaconda

之所以安装Anaconda而不是pycharm,是因为Anaconda可以针对不同版本的python配置不同的环境,并且可以避免很多依赖问题,使用体验极佳。

依旧,附上官网下载链接:

Anaconda | Individual Edition​www.anaconda.com
安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第22张图片

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第23张图片
选择对应平台即可

按部就班的安装,最后配置环境变量:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第24张图片

我自己用Anaconda给Tensorflow单独配了个环境,这个网上教程很多,在这里就不细说了。

7. 安装Tensorflow-GPU

还是先检查对应关系,根据自己安装的CUDA版本,找到适合的Tensorflow-GPU版本,这里需要留意一下自己的python版本是否合适。

ps:原则上Tensorflow-GPU选择尽量新的版本较好。

pps:python还是安装3以上的吧,毕竟2现在不更新了。

List of Available Environments​docs.floydhub.com
安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第25张图片

查到了适合自己的Tensorflow-GPU版本后,就可以开始安装啦,管理员身份打开CMD,开始pip,我已经提前从清华镜像上下载好了,所以写入了本地路径:

pip3 install --upgrade  E:/Documents/tensorflow_gpu-2.2.0rc4-cp37-cp37m-win_amd64.whl

清华的镜像 https://pypi.tuna.tsinghua.edu.cn/simple/tensorflow-gpu

漫长的等待后:

8fd25f3577b972d0ab3c4e0320bc8ac6.png

测试一下:

import tensorflow as tf
a = tf.random_normal((10,10))

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第26张图片

成功!可喜可贺!

8. 安装Keras

下面就是Keras的安装了,还是先查找对应关系,链接见7:

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第27张图片
我的是2.3.1

还是熟悉的pip:

pip3 install --upgrade  E:/Documents/Keras-2.3.1-py2.py3-none-any.whl

安装完成:

5e0e4bb27ea61f87d40bf81b5c530add.png

测试一下:

import keras
keras.__version__

安装特定版本的keras_一定要看的Tensorflow-GPU+Keras安装教程_第28张图片

成功运行!大功告成!

9. 最后总结一下我之前碰到的坑

我最开始是在笔记本上安装Tensorflow-GPU的。当时Anaconda,python都安装完了,按照教程直接安了Tensorflow-GPU,然后是Keras,结果运行的时候各种报错。。。

后来查了各种资料才知道还有这么多兼容问题。

下面贴出一些我碰到的坑,希望可以帮到大家:

首先是Keras报错问题:

  • Keras requires TensorFlow 2.2 or higher.
  • ModuleNotFoundError: No module named 'tensorflow.python.eager'
  • AttributeError: module 'keras.backend.tensorflow_backend' has no attribute '_is_tf_1'
  • ImportError: cannot import name 'np_utils'

以上这4个都是因为 tensorflow和keras的版本不对应 导致的,具体对应关系可以查看教程的7和8步

然后是Tensorflow的问题:

import tensorflow as tf
ImportError: No module named 'numpy.core._multiarray_umath'
ImportError: numpy.core.multiarray failed to import

解决方案:

pip install numpy --upgrade

2.

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

下载TensorFlow的版本不支持cpu的AVX2编译导致(版本问题),解决方案:

卸载了重新安装正确的tf版本

最后祝大家都能一次成功!

你可能感兴趣的:(安装特定版本的keras)