环境 opencv/mxnet/python
1.安装opencv (ps:编译mxnet首先需要cv库)
1
| $ yum install cmake gcc gcc-c++
|
使用yum源安装以上工具,源配置可以设置为ali的yum源(ps:国内访问很快)
安装后测试cmake –version测试版本看是否成功
然后down opencv源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| $ wget https://github.com/Itseez/opencv/archive/2.4.13.zip ```
down到安装目录,然后解压unzip 2.4.13.zip 进入opencv目录后 检查是否有CMakeLists.txt文件 该文件是用来生成makefile的 然后:
``` bash $ make $ make install ```
安装opencv 等待安装ing。。。。最好配置( -j8)不然比较慢,安装完成后 需要配置cv的lib*.so文件 主要有以下3种方式:(1)用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边
``` bash $ ln -s /usr/local/lib/*.so /usr/lib $ sudo ldconfig ```
(2)修改LD_LIBRARY_PATH
``` bash $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH $ sudo ldconfig ```
(3)修改/etc/ld.so.conf vim /etc/ld.so.conf 加一行
``` bash $ /usr/local/lib $ sudo ldconfig
|
然后进入samples目录测试opencv安装是否成功
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| $ cd /samples/c $ ./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg ```
如果出现 ![](/image/bird/1.jpg) 则表示opencv安装完成 接着需要配置PKG_CONFIG_PATH路径
``` bash $ vi /etc/bashrc ```
末尾加入一句
``` bash $ export PKG_CONFIG_PATH=/usr/local/lib/pkgpath:$PKG_CONFIG_PATH $ source /etc/bashrc ```
2.安装mxnet平台(ps:进入正题) mxnet 是一个非常优秀的深度学习的框架。足够灵活,速度足够快,扩展新的功能比较容易。 ``` bash $ git clone --recursive https://github.com/dmlc/mxnet ```
这里提醒注意一定不要忘记--recursive参数,因为mxnet依赖于DMLC通用工具包http://dmlc.ml/,--recursive参数可以自动加载mshadow等依赖 编译mxnet平台需要支持c++11 gcc4.8.x版本以上才支持c++11 所以需要升级gcc版本 yum源中是没有4.8以上版本的所以需要手动升级 gcc4.x版本保留用来编译gcc4.8x可以参考此处升级: http://www.mudbest.com/centos%E5%8D%87%E7%BA%A7gcc4-4-7%E5%8D%87%E7%BA%A7gcc4-8%E6%89%8B%E8%AE%B0/ 编译gcc的过程比较耗时 最好加上make -j4 参数 如果遇到类似*** [all-stage1-gcc] Error 2的bug 可以修改下 系统的swappiness虚拟交换内存解决 工具准备好后 下面进入正题编译mxnet mxnet用到了大量线性代数运算,需要用到blas库 如果没安装openBlas,可以通过以下方式安装
``` bash $ yum -y install blas blas-devel lapack lapack-devel atlas atlas-devel –nogpgcheck ```
并且在make目录下修改config.mk中 USE_BLAS = openblas 单纯使用CPU进行训练的过程是非常慢的可以mxnet可以通过CUDA调用GPU的处理能力 提升训练速度,通过配置config.mk文件配置是否编译CUDA,cuda安装可以到 http://developer.download.nvidia.com/compute/cuda/repos下载对应版本 安装过程参考此处 http://blog.csdn.net/a350203223/article/details/50262535 cuda安装完成后,在config.mk中配置如下: USE_CUDA = 1 USE_CUDA_PATH = cuda安装路径 之后编译mxnet目录:
``` bash $ make -j4 ```
本文深度学习使用python平台:需要用到python环境
3.安装python环境
``` bash $ yum -y install python pip-python
|
安装python和pip pip是python插件安装工具相当于centos的yum
然后安装pygame包,flabby bird的程序运行用到了pygame模块:
$ pip install pygame
$ cd mxnet/python
$ python setup.py install
安装mxnet模块 现在的版本是0.7.0
等待安装完成 马上就能跑了。。
安装完成后进入/mxnet/example/image-classification目录
$ python train_mnist.py
表示训练完成,mxnet模块安装完成
接着需要我们要去下载flabby bird python源码
$ git clone https://github.com/learn2Pro/DRL-FlappyBird.git
下载完成后 我们还需要python的opencv模块
然后将/lib/python-version/cv2.so库文件放到python安装目录下
然后进入DRL-FlappyBird目录
$ python FlappyBirdDQN.py
最后效果图 ,接下来就是等待了,如果只用cpu训练是非常慢的,可以调用cuda 使用GPU加速,GPU的并行运算能力可以提升20-30倍