在Lubuntu上搭建python3.4和OpenCV开发环境并且运行DNQ-Atari深度学习项目
本文是我在工作中遇到搭建python3和opencv开发环境中遇到的挫折并且最终搭建成功后写的学习笔记,希望以博客的方式记录一下。
前提条件
1.搭建好的Lubuntu虚拟机(ubuntu的衍生版本都可以,我机器上是vmware lubuntu 系统已经自带python3.4)
2. virtualenv (需自己搭建)
3. OpenCV环境(需自己搭建)
4. Tensorflow环境 (需自己搭建)
5. Arcade-Learning-Environment (需要自己搭建)
6. 写入Atari游戏的Rom
具体步骤(略去搭建Lubuntu虚拟机部分)
1.安装搭建OpenCV所需要的包
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential cmake git pkg-config
$ sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install libatlas-base-dev gfortran
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
$ sudo pip3 install virtualenv virtualenvwrapper
在.bashrc或者.zshrc中写入
# virtualenv and virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
执行
source .bashrc && exec $SHELL
或者 source .zshrc && exec $SHELL
2.创建python3.4虚拟环境
$ mkvirtualenv opencv
$ sudo apt-get install python3.4-dev
$ source .virtualenvs/opencv/bin/activate
(opencv)$ pip install numpy
3.下载并编译OpenCV
我编译3.1.0版本时找不到linux下面的头文件所以编译了3.0.0版本
(opencv)$ cd ~
(opencv)$ git clone https://github.com/opencv/opencv.git
(opencv)$ cd opencv
(opencv)$ git checkout 3.0.0
(opencv)$ cd ~
(opencv)$ git clone https://github.com/Itseez/opencv_contrib.git
(opencv)$ cd opencv_contrib
(opencv)$ git checkout 3.0.0
(opencv)$ cd ~/opencv
(opencv)$ mkdir build
(opencv)$ cd build
(opencv)$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
执行到cmake的时候可能会在自动下载ippicv_linux_20141027这个文件时遇到错误,可以自行到网上搜索后下载把文件放到~/opencv/3rdparty/ippicv/downloads/下面的对应的文件夹下
make -j 4
sudo make install
sudo ldconfig
4.创建cv2.so软连接并测试
(opencv)$ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
(opencv)$ ln -s /usr/local/lib/python3.4/site-packages/cv2.cpython-34m.so cv2.so
(opencv)$ workon cv
(opencv)$ python
>>> import cv2
>>> cv2.__version__
'3.0.0'
5.搭建Tensorflow环境和Arcade-Learning-Environment
去谷歌Tensorflow官网就有安装脚本,因为是Lubuntu虚拟机环境,选择cpu-only的
(opencv)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp34-cp34m-linux_x86_64.whl
(opencv)$ pip3 install --upgrade $TF_BINARY_URL
下载好tensorflow之后去github上下载Arcade-Learning-Environment,上面有具体教程
6.下载Atari游戏的Rom
注意ALE这个模块只支持一部分Atari的游戏 同时还要注意游戏bin文件的名字问题
一般把下载好的游戏放在game目录下或者rom目录下就可