Anaconda下安装keras 配置与pycharm运行demo(windows版本)
1、Anaconda概述
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
再说一下conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。
2、Anaconda安装
Anaconda的下载页有官网下载地址:https://www.continuum.io/downloads
,对Linux、Mac、Windows均支持。还可以选择清华的镜像下载,下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 安装时,会发现有两个不同版本的Anaconda,分别对应Python 2.7和Python 3.5,两个版本其实除了这点区别外其他都一样。Anaconda2对应的是Python 2.7,Anaconda3对应的是Python 3.+。
下载后直接按照说明安装即可。这里需要注意:尽量按照Anaconda默认的行为安装。这样的好处是,同一台机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。
对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入~/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以自己完成。
安装完成后可以用conda –version命令检查是否正确。
这里我选择下载了这个版本:
3、Conda的操作(常用)
# 安装scipy
conda install scipy
# conda会从从远程搜索scipy的相关信息和依赖项目,对于python 3.4,conda会同时安装numpy和mkl(运算加速的库)
# 查看已经安装的packages
conda lis
# 最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本
# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中镜像地址加有引号,需要去掉
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
4、安装theano+Keras+MinGW
python很多模块用default的源下载会很慢,有时候可以去国内的镜像网站找找,速度会快很多
输入命令,可以添加清华的源
>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
>conda config --set show_channel_urls yes
安装好Anaconda之后,搜索程序打开Anaconda Prompt,在命令行依次中输入,安装好一个后再键入下一句命令。
pip install Theano
pip install keras
conda install mingw libpython (安装过程中碰到Proceed ([y]/n)? 键入y回车)
还需要安装scipy,键入下面的命令。
conda install scipy
5、出现的麻烦事
5.1、import theano出现的问题
(C:\ProgramData\Anaconda2) C:\Windows\system32>python
Python 2.7.13 |Anaconda 4.3.1 (64-bit)| (default, Dec 19 2016, 13:29:36) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import theano
WARNING (theano.configdefaults): g++ not available, if using conda: `conda install m2w64-toolchain`
WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to execute optimized C- implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.
>>> exit()
键入命令解决:conda install m2w64-toolchain
5.2、 conda install mingw libpython 出现的问题
报错文本
CondaIOError: IO error: Missing write permissions in: C:\Program Files\Anaconda2
#
# You don't appear to have the necessary permissions to install packages
# into the install area 'C:\Program Files\Anaconda2'.
# However you can clone this environment into your home directory and
# then make changes to it.
# This may be done using the command:
#
# $ conda create -n my_root --clone=C:\Program Files\Anaconda2
这个是权限的问题,有可能是Anaconda Prompt不是用管理员权限打开的。重新用管理员权限打开后,键入命令即正常。
6、在pycharm中运行demo
6.1修改backed
可能需要修改using backed,将其修改成Theano。修改的方式如下:将对路径下的keras文件中backed修改为theano就好了。
6.2修改python版本
可能出现的问题是pycharm使用的python版本与demo需要的python版本不一致,这时候需要修改python版本。demo一般都是需要python2.7的版本,使用python3.5的版本就不行了。
这个时候修改的操作如下:
1、找到setting
2、点击Project Interpreter 修改python版本,然后apply。
6.3可能出现数据集都不进去的问题
修改代码中本地文件下读取数据集:
1、在demo所在的文件夹中添加数据集压缩包,下载地址:
2、然后修改代码
#加载数据
import pickle
import gzip
f = gzip.open('mnist.pkl.gz', 'rb')
data = pickle.load(f)
f.close()
(X_train, y_train), (X_test, y_test) = data
就可以从本地读取数据了。
这里还有数据集的另一个下载地址:http://yann.lecun.com/exdb/mnist/
7、附keras与theano的官方文档等
keras中文文档:http://keras-cn.readthedocs.io/en/latest/getting_started/concepts/
theano英文文档:http://deeplearning.net/software/theano/install_windows.html
python包非官方包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
参考资源:
1、http://python.jobbole.com/86236/ 2017.3.27
2、http://blog.csdn.net/qq_28119401/article/details/53217876 2017.3.27
3、http://blog.csdn.net/okcd00/article/details/54828747 2017.3.27