Windows系统配置Keras(以Win10为例)
前言
由于本小白即将进入深度学习这个领域学习,所以最近试着在电脑上搭建一个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。
版本 | 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__)
至此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环境配置及安装
推荐阅读
-
如何查看当前电脑有没有无线网卡以Windows8为例
-
配置单机版GeoAnalytics(GA),以Windows10 上安装10.7.1为例
-
RabbitMQ入门:认识并安装RabbitMQ(以Windows系统为例)
-
Keras : 利用卷积神经网络CNN对图像进行分类,以mnist数据集为例建立模型并预测
-
Windows Phone中的路由事件-以ListBox控件为例
-
开放windows服务器端口(以打开端口8080为例)
-
MySQL――修改root密码的4种方法(以windows为例)_MySQL
-
MySQL――修改root密码的4种方法(以windows为例)_MySQL
-
如何查看当前电脑有没有无线网卡以Windows8为例
-
windows下mysql自动定期备份并压缩(以discuz论坛为例)_MySQL