深度学习入门之Anaconda多版本控制、Theano安装踩坑总结(一)

最近开始跑程序了,想象中的样子是:下载代码-->配置环境-->点击运行-->出结果,实际中却是bug bug bug bug bug.......................此处省略千行泪...................嘿嘿,接下来进入正题啦。

原本准备学Pytorch的,结果不小心入了Tensorflow的坑,再加上前两天谷歌TensorFlow开发者峰会刚刚在美国召开,迎来了TensorFlow2.0 Alpha版本的正式发布,吴恩达也推出了配套的新课,本着做一名称职的程序媛的原则,持着一颗观望的心,不知不觉入坑.....当然了,现在还处于小白阶段,这篇文章主要想总结一下这两天学到的内容,分享给大家~


 1. Tensorflow、Theano和Keras的关系

Keras可以说是一个高级API,TensorFlow 2.0 舍弃掉了其他API,将 Keras API 指定为构建以及训练深度模型的API。所以呢,也就是说,Keras是可以基于Tensorflow的。事实上,Keras也可以基于Theano,对于Keras来说,它可以指定Tensorflow或者Theano作为后端,只不过默认为Tensorflow。

Keras的最大优点在于,用户体验非常好,模块性强,提供了简洁的API。在Keras中,网络层、数据预处理、损失函数、**函数、优化器、正则化方法都有独立模块,你可以*组合,从而构建自己的模型。举个例子,比如常用的层有:Dense层——全连接层,Activation层——**层,Dropout层等等。网上可以查到一些大神们做的思维导图,清晰地展示了Keras有哪些内容,大家可以自行查找哦。

2.  Theano安装过程中踩过的坑

首先要注意的就是版本问题了,Tensorflow,Python,Theano这些在安装时,都要注意版本问题,不然的话后面会遇到各种各样的problems哦。我们先来看一下Theano的官方文档中的要求。

深度学习入门之Anaconda多版本控制、Theano安装踩坑总结(一)

从图中看到,Python支持2.7版本以及大于等于3.4,小于3.6的,所以说呢,你就不要用Python3.6或者3.7啦,容易出问题。由于我安装的是anaconda3,并且本着学习新事物的原则,尽量使用Python3,所以推荐python3.5哦。

由于Theano依赖于Numpy、SciPy,所以要先安装这两个包呢,之后用pip install Theano就可以安装它了~ 在过程中可能会遇到一些问题,根据提示进行修改就好了。安装完成后可以安装一下nose,pip install nose,这是一个单元测试框架,用它可以测试Numpy,SciPy以及Theano是否成功。代码示例:

import theano
theano.test()

据说Numpy比较快,Theano需要半小时以上,不过我在我的win本机上跑了很久,Theano跑了两三个小时吧,会报一些错误,不要紧,如果没通过的话最后会显示fail,如果显示default=0就是通过了,不过我第二次运行的时候没显示default=0,但是也没有fail,应该就是通过了我觉得~~。

3. Conda创建虚拟环境,anaconda中安装和切换多个版本的python

稍微了解过些的童鞋就会知道Anaconda这个管理工具啦,我们基本上首先会安装它,这样之后会比较方便。Windows下安装Anaconda有时候因为环境的原因会出各种各样的问题呢,因为想用python3.5,所以我想安装2.4.0版本,但是由于本地原有的anaconda2以及python3.5环境等等,发生了好多冲突,导致安装没有Prompt和Navigator,所以重新装了很多次,不过把原来的环境全部卸载掉以后,我安装了anaconda比较新的版本,默认环境是py3.6,最后成功安装了。但是呢,由于我前面说的,Theano等不支持3.6,所以呢,我们就需要用conda创建虚拟环境,这样我们就可以在py3.5的基础上安装theano等了。操作命令如下:

#列出所有虚拟环境
conda env list

#创建虚拟环境
conda create --name [虚拟环境名称] python=[python版本例如:3.5] [需要的包]

#举个例子,下面两行都是可以的
conda create --name py35 python=3.5
conda create --name py35 python=3.5 numpy scipy

#**环境
conda activate py35

#取消**
conda deactivate

根据这个原理,我们可以创建一个名叫theano的虚拟环境,在其下安装theano。

conda create --name theano python=3.5
conda activate theano
pip install numpy
pip install SciPy
pip install theano

4. Tensorflow安装

相比于Theano,Tensorflow安装遇到的问题更少一些。下篇我们再来谈Tensorflow中遇到的一些问题。