今天起,小科即将增加一个新的板块-----人工智能,小科会不定期的推送原创的有关人工智能领域的文章,视频,教程,资料,代码等等,致力于用通俗易懂的话,说出其中的道理,由浅入深的介绍人工智能。
说到人工智能,就不得不说到它的实际应用:
机器视觉,指纹识别,人脸识别,视网膜识别,虹膜识别,掌纹识别,专家系统,自动规划,智能搜索,定理证明,博弈,自动程序设计,智能控制,机器人学,语言和图像理解,遗传编程等。
其中现在用到的主流算法,就是我们现在经常听到的机器学习,深度学习算法。
那么今天小科要介绍的就是深度学习。
深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
深度学习环境的搭建
学习深度学习,首先我们要搭建能运行深度学习代码的环境,现在主流的有
TensorFlow、Caffe、Keras、Theano、CNTK、Torch7、MXNet、Leaf,等等。
然而TensorFlow却杀出重围,在关注度和用户数上都占据绝对优势,大有一统江湖之势。表2-1所示为各个开源框架在GitHub上的数据统计(数据统计于2017年1月3日),可以看到TensorFlow在star数量、fork数量、contributor数量这三个数据上都完胜其他对手。
表2-1 各个开源框架在GitHub上的数据统计
接下来小科就一步一步的教大家搭建前2种框架(TensorFlow,Caffe),以后的项目代码演示也大多是用的这两个框架。
搭建环境
Ubuntu16.04 + Anaconda3-5.0.1-Linux-x86_64 + caffe + tensorflow+ opencv
这里我用的是虚拟机搭建的环境,
首先我们需要下载 Anaconda3-5.0.1-Linux-x86_64 ,然后进入他的下载目录
这里如果有的小伙伴们不懂linux语法的话,可以按照我的图片的样式,直接照搬就好。
输入命令:bash Anaconda3-5.0.1-Linux-x86_64.sh
这时系统就会自动安装Anaconda,我们只要静静等待,就可以了。安装好后,我们重新开机,打开终端,输入python,出现下面画面,及说明安装成功。
下面介绍下Anaconda安装库的方法。
首先要安装,python3.5的版本,因为后面的opencv(图像处理库,占时大家不需要过多了解,只要知道它是处理图片的即可)
命令: conda install python=3.5,
之后执行 conda install -c menpo opencv3,这样我们首先就安装好了opencv ,这个库在后期处理图像时很重要。
下面我分两部分介绍,一部分是安装无GPU的caffe,另一部分是安装tensorflow。
1、第一部分准备工作
无GPU,跳过CUDA
sudo apt-get update
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-devr
apt-get install libprotobuf-dev
apt-get install libleveldb-dev
apt-get install libsnappy-dev
apt-get install libopencv-dev
apt-get install libhdf5-serial-dev
apt-get install protobuf-compiler
apt-get install --no-install-recommends libboost-all-dev
安装BLAS
sudo apt-get install libatlas-base-dev
安装python
apt-get install python-dev
安装谷歌、gflags、lmdb
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2、下载caffe
先安装git
apt-get install git
在利用git在github上下载caffe
git clone git://github.com/BVLC/caffe.git
如果需要caffe的python接口,切换到caffe下的python目录下
liuyuying@ubuntu:~/caffe/python$
先安装pip:
apt-get install python-pip
for req in $(cat requirements.txt); do pip install $req; done//这步可能出错
由于国内网络的限时,在利用pip安装时很慢,因此需要借助于国内源。这里用pip安装可能速度很慢,很可能下载好几个小时,推荐用清华大学的pip源临时安装,所以命令改为如下:
代码功能解析:在初始的目录(如liuyuying@ubuntu:~$)下输入以下代码,其中tar zxf pip-1.0.2.tar.gz是解压下载的安装包,cd pip-1.0.2为进入到pip-1.0.2目录,在此目录下利用python运行setup.py文件。cd ~/caffe/python指的是在caffe下的python目录下,利用pip与国内源安装依赖库。
wget http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz
tar zxf pip-1.0.2.tar.gz//根据http://pypi.python.org/packages/source/p/pip最新的版本填写版本号
cd pip-1.0.2
python setup.py install
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done//这个好像运行的时候有错误 忘了怎么解决的了
我自己试的时候忘记了有没有安装这个......不过pip是安装了的
注意用pip下载一些依赖包时,由于访问国外的网络较慢,此时可以选择利用国内源进行下载,假设要下载的是entrypoints。则可输入以下代码:sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple entrypoints
3、配置Makefile.config文件
Caffe下载完成后,配置Makefile.config文件:
cd ~/caffe
cp Makefile.config.example Makefile.config //将Makefile.config.example更名为Makefile.config
打开Makefile.config
安装步骤是在只有CPU的情况下完成的,因此要使能CPU,所以去掉CPU_ONLY := 1前面的注释;
其他修改的部分,修改后如下所示:
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
4、编译caffe
方案1:make pycaffe
make all
make test
make runtest
方案2:采用这种方案一般没问题,不过在使用c++调用的时候,会使用到链接库:libcaffe.so.1.0.0-rc3,这种方法编译后没有生成这个文件;经过google查找,发现采用cmake编译,才会生成libcaffe.so文件
mkdir build
cd build
cmake ..
make all -j8或者是-j4
我自己使用的是方案一
5、测试caffe
切换到caffe目录下,输入如下命令测试mnist数据集
sh data/mnist/get_mnist.sh
sh examples/mnist/create_mnist.sh
vim examples/mnist/lenet_solver.prototxt//也可以直接用文本编辑器打开编辑,将最后一行的GPU改成CPU
./examples/mnist/train_lenet.sh //开始训练
推荐个caffe模型网站:https://github.com/BVLC/caffe/wiki/Model-Zoo。这个网站可以找到好多caffe模型、源码,非常适合于我们学习。
第二部分安装tensorflow
接下来就是安装tensorflow,在这里需要说明,我们现在是安装Anaconda,还有opencv,后面还要安装caffe,所以我们不能直接用pip install tensorflow,这样安装的话,虽然会提示我们安装好了,但是在导入的话,会报错。所以我们要根据需求选择TensorFlow版本安装。
1.执行命令,会显示出目前可供选择的tensorflow版本,按平台选择版本
2.执行命令获取对应版本的安装命令conda-forge/tensorflow为选择的版本名称
3.执行上图得到的安装命令,安装开始
安装好后,我们可以导入下,查看是否安装成功,如果没有报错,即是安装成功。
import cv2
import tensorflow
import caffe
想获得虚拟机软件包,Ubuntu16.04, Anaconda的小伙伴们
免费下载方式
长按下方二维码
回复:0226即可获取
领取专属 10元无门槛券
私享最新 技术干货