您的位置:首页 > Web前端

用Caffe基于DQN玩Atari游戏

2016-04-28 16:06 309 查看

前言

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

准备

dqn-in-the-caffe

Caffe

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


运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DQN 增强学习