欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Windows系统配置Keras(以Win10为例)

程序员文章站 2022-04-22 12:10:14
设置GPU支持使用GPU并不是绝对必要的,CPU上也可以运行深度学习的代码,但是在一个好的GPU上运行的速度明显优于CPU。想要用NVIDIA GPU做深度学习,需要同时安装CUDA和cuDNN。1. CUDA:用于GPU的一组驱动程序,它让GPU能够运行地层编程语言来进行并行计算。2.cuDNN:用于深度学习的高度优化的原语库,可以提高模型的训练速度。......

前言

由于本小白即将进入深度学习这个领域学习,所以最近试着在电脑上搭建一个Keras环境,但是由于电脑显卡比较老了,所以因为版本不匹配等问题受到了很多困扰,所幸这方面的博客也比较多,所以最终也是成功安装了。

为了能帮助到跟我一样遇到类似问题的小白选手,同时也是记录自己的安装过程以便以后查看,写下了这篇博客。

设置GPU支持

使用GPU并不是绝对必要的,CPU上也可以运行深度学习的代码,但是在一个好的GPU上运行的速度明显优于CPU。
想要用NVIDIA GPU做深度学习,需要同时安装CUDA和cuDNN。

1. CUDA:用于GPU的一组驱动程序,它让GPU能够运行地层编程语言来进行并行计算。
2.cuDNN:用于深度学习的高度优化的原语库,可以提高模型的训练速度。

注意:下载的CUDA版本受电脑显卡驱动版本的约束。另外cuDNN与tensorflow的版本又会受到CUDA版本的约束。
CUDA和cuDNN的具体下载安装可以参考这篇知乎文章:win10安装CUDA和cuDNN的正确姿势

因为我的电脑已经有些年头了,所以显卡比较老,是GeForce GTX 950M,对应的CUDA版本为8.0.0。
Windows系统配置Keras(以Win10为例)

版本 Python 版本 编译器 编译工具 cuDNN CUDA
tensorflow_gpu-2.0.0-alpha0 2.7、3.3-3.6 GCC 4.8 Bazel 0.19.2 7.4.1以及更高版本 CUDA 10.0 (需要 410.x 或更高版本)
tensorflow_gpu-1.13.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.19.2 7.4 10.0
tensorflow_gpu-1.12.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.11.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.9.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.11.0 7 9
tensorflow_gpu-1.8.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.10.0 7 9
tensorflow_gpu-1.7.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.6.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.5.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.8.0 7 9
tensorflow_gpu-1.4.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.5.4 6 8
tensorflow_gpu-1.3.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.5 6 8
tensorflow_gpu-1.2.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.5 5.1 8
tensorflow_gpu-1.1.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8

安装Anaconda

Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。

从上表中可以看出,python版本也需要与CUDA对应,这也是我一开始犯的错误。因为Anaconda的每个版本内置的python版本也可能不同,所以最新版本的Anaconda内置python是比较新的python版本。

Anaconda官网上貌似只提供最新版本下载,下载历史版本可以到清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

Anaconda与python的版本对应我是参考的这篇博客:anaconda python 版本对应关系

我选择安装的是Anaconda 4.2.0,内置python 3.5.2

想更好的了解如何使用Anaconda可以查看官方文档:https://docs.anaconda.com/anaconda/user-guide/getting-started/

安装tensorflow

可以使用pip,也可以使用conda安装。
使用pip安装可以参考tensorflow官方安装指导:https://tensorflow.google.cn/install/pip#windows_1
我在使用pip时,提示pip版本较低,可以根据提示升级pip。
关于安装tensorflow可以参考这篇博客:手把手教你如何安装Tensorflow

注意:网上很多人都说安装时需要以管理员身份运行Anaconda Prompt。

配置了tensorflow的环境之后,使用activate tensorflow激活环境,并开始安装tensorflow。
由于我的显卡比较老,不能安装最新版本的tensorflow,按照上表,我安装的是tensorflow_gpu-1.4.0,使用如下代码安装,选择使用清华镜像(否则会因为连接不稳定而下载失败)

pip install tensorflow-gpu==1.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

等待安装成功后,可以输入python进入python编程环境,输入如下代码检测是否安装成功:

import tensorflow as tf
sess = tf.Session() a1 = tf.constant(1) a2= tf.constant(2) sess.run(a+b) 

没有报错且打印结果为3,表示安装成功。

安装Keras

安装Keras也需要注意版本的对应关系,也无法安装最新版本><

Tensorflow版本 Keras版本
Tensorflow 2.1
Tensorflow 2.0
Tensorflow 1.15
Keras 2.3.1
Tensorflow 1.14 Keras 2.2.5
Tensorflow 1.13
Tensorflow 1.12
Tensorflow 1.11
Keras 2.2.4
Tensorflow 1.10
Tensorflow 1.9
Keras 2.2.0
Tensorflow 1.8
Tensorflow 1.7
Tensorflow 1.5
Keras 2.1.6
Tensorflow 1.4 Keras 2.0.8
Tensorflow 1.3
Tensorflow 1.2
Tensorflow 1.1
Tensorflow 1.0
Keras 2.0.6
Tensorflow 0.12 Keras 1.2.2

根据上表,我需要安装Keras 2.0.8,使用如下命令即可:
pip install keras==2.0.8 -i https://pypi.tuna.tsinghua.edu.cn/simple

等待安装完成后,可以输入如下命令检测是否安装成功
import keras; print(keras.__version__)
Windows系统配置Keras(以Win10为例)

至此Keras已成功安装,接下来就可以在jupyter notebook或者其他IDE(如pycharm)中搭建环境并使用了!

小结

由于我的电脑有些年代了,所以需要安装比较低的版本,因此比较麻烦,这个过程我也是遇到了很多问题,比如(1)成功安装后使用import tensorflow报错:ImportError: DLL load failed: 找不到指定的模块,这是由于tensorflow与CUDA版本不匹配。
(2)升级pip出错,是因为服务器连接超时,可以使用国内清华镜像或者豆瓣镜像,比如使用豆瓣镜像:python -m pip install --upgrade pip -i https://pypi.douban.com/simple
也感谢广大博主的分享,我才解决了这些问题。

不过,如果你是准备使用Pycharm这个IDE,并且显卡足够强大,貌似可以直接在Pycharm中安装tensorflow及Keras:windows下用pycharm安装tensorflow简易教程

这里附上Keras官方中文文档:https://keras.io/zh/

参考博客

Win10 + CUDA10 + cuDNN 安装教程
tensorflow各个版本的CUDA以及Cudnn版本对应关系
手把手教你如何安装Tensorflow
安装指定版本的tensorflow-gpu
深度学习(机器学习)tensorflow环境配置及安装