用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实现的版本,详细描述一下环境配置和运行过程。
准备
- 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
运行结果
- 用Caffe基于DQN玩Atari游戏
- 利用 TensorFlow + Keras 玩 Atari 游戏
- 利用 TensorFlow + Keras 玩 Atari 游戏
- 用Tensorflow基于Deep Q Learning DQN 玩Flappy Bird
- 用Tensorflow基于Deep Q Learning DQN 玩Flappy Bird
- 用Tensorflow基于Deep Q Learning DQN 玩Flappy Bird
- Google是如何教会机器玩Atari游戏的
- 用DQN玩flappy bird(TensorFlow学习框架)
- 实现DQN算法玩CartPole
- 基于神经网络的DQN方法
- 用Zaurus玩游戏
- DQN
- DQN
- 基于DQN的Flappy Bird实验
- 用 Mathematica 玩找茬游戏
- DeepMind用ReinforcementLearning玩游戏
- 玩游戏
- 玩游戏
- slowhttptest 尝试
- st3搭建python开发环境
- GCD 深入理解:第二部分
- gulp
- 关于cv::warpaffine函数
- 用Caffe基于DQN玩Atari游戏
- 使用GDB命令行调试器调试C/C++程序
- 人脸识别技术跨界引领“场景应用革命”
- Windows Dev Intro - Difference Between Button and Treeview Control
- 深度学习基础(六)—— 从 RBM 到 DBN
- 读CVPR2014论文<Saliency Optimization from Robust Background Detection>
- Java
- 如何搭建jdk环境
- RTSP交互命令简介及过程参数描述