用Caffe基于DQN玩Atari游戏

来源:互联网 发布:淘宝上卖假货怎么处理 编辑:程序博客网 时间:2024/05/13 10:23

前言


2013年DeepMind 在NIPS上发表Playing Atari with Deep Reinforcement Learning 一文,提出了DQN(Deep Q Network)算法,实现端到端学习玩Atari游戏,即只有像素输入,看着屏幕玩游戏。Deep Mind就凭借这个应用以6亿美元被Google收购。由于DQN的开源,在github上涌现了大量各种版本的DQN程序。这里实现一种用Caffe实现的版本,详细描述一下环境配置和运行过程。

准备


  1. dqn-in-the-caffe
  2. Caffe
  3. ALE最新的是0.5.1版本,但是一直有问题,建议使用0.4.4版本,ALE安装教程和使用教程在安装包里面manual.pdf。

开始配置环境


ALE

安装SDL 按照manual.pdf
$PATH/ale_0.4.4/ale_0_4$ cp makefile.unix makefile
打开SDL
USE_SDL := 1
$PATH/ale_0.4.4/ale_0_4$ make

Caffe

make all
make test
make runtest
make distribute
caffe的环境配置这里不做介绍
protoc src/caffe/proto/caffe.proto –cpp_out=.
mkdir include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto
PYTHONPATH=”/home/ajay/pylearn2:/home/ajay/pylearn2/pylearn2/scripts:/usr/local/caffe/python/caffe:$PYTHONPATH”
export PYTHONPATH

DQN

修改cmake配置
option(CPU_ONLY "Use CPU only for Caffe" OFF)
option(USE_CUDNN "Use cuDNN for Caffe" OFF)
option(USE_SDL "Use SDL for ALE" ON)
include_directories(your_path/caffe-dqn/include)
include_directories(/usr/local/cuda-7.0/include)
include_directories(your_path/ale_0.4.4/ale_0_4/src)
link_directories(your_path/caffe-dqn/build/lib)
link_directories(your_path/ale_0.4.4/ale_0_4)

mkdir build
cd build
cmake ..
make
如果成功会显示If everything works the last two lines will be
Linking CXX executable dqn
[100%] Built target dqn
接下来需要找一个游戏文件breakout.bin
将breakout.bin,dqn_solver.prototxt,dqn.prototxt放在build下
your_path/dqn-in-the-caffe-master/build$ ./dqn
如果用GPU就将其打开
option(CPU_ONLY “Use CPU only for Caffe” ON)
cmake ..
make
./dqn -gpu
训练好后测试
./dqn -evaluate -gui -repeat_games 100 -model snapshots/train_iter_2000000.caffemodel

运行结果


这里写图片描述

0 0
原创粉丝点击