github上DQN代码的环境搭建,及运行(Human-Level Control through Deep Reinforcement Learning)conda配置
最近师弟在做DQN的实验,由于是强化学习方面的东西,正好和我现在的研究方向一样于是我便帮忙跑了跑实验,于是就有了今天的这个内容。
首先在github上进行搜寻,如下图:

发现第一个星数最多,而且远高于其它的项目,于是拉取这个链接:
https://github.com/devsisters/DQN-tensorflow

本篇博客主要是讲解一下该代码运行环境的如何搭建,采用 conda 配置。
首先看下 README 上的内容, 主要是requirement最重要:

考虑到运行的兼容性,于是决定使用python2.7版本环境运行,下面开始 conda 的配置:
搜寻python2.7版本,并采用最小自版本号
conda search python=2.7

选择 python2.7.3版本, 为环境命名 dqn_2 :
conda create -n dqn_2 python=2.7.3

进入新建环境,并确认版本:
conda activate dqn_2

安装 numpy scipy
conda install numpy scipy

安装 tqdm (进度条模块)
pip install tqdm==4.30

安装 gym (oepnai 的 游戏环境交互模块)
可选安装:
pip install gym==0.1.0

必选安装:
pip install gym[Atari]==0.1.0

安装 gpu 计算环境 cudatookit 和 cudnn(由于需要安装深度学习框架 tensorflow-gpu , python27 0.12.1 版本。)
由于安装的tensorflow-gpu 0.12.1 所依赖的 环境,我们选择 cudatookit8.0 cudnn5.1
如下图:
conda install cudatoolkit=8.0=3

conda install cudnn=5.1.10=cuda8.0_0

安装深度学习框架 tensorflow-gpu , 选择python27 0.12.1 版本。
给出下载地址:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.1-cp27-none-linux_x86_64.whl
pip install tensorflow_gpu-0.12.1-cp27-none-linux_x86_64.whl

为运行环境设置动态库地址, 目的是为了要 程序知道安装的cudatookit和cudnn的lib位置:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/devil/anaconda3/envs/dqn_2/lib
其中, dqn_2 为conda 中所设置的运行环境名称。

运行:
python main.py --env_name=Breakout-v0 --is_train=True


配置成功, 并且可运行。
参考资料:
https://blog.csdn.net/u011636567/article/details/77162217
github上DQN代码的环境搭建,及运行(Human-Level Control through Deep Reinforcement Learning)conda配置的更多相关文章
- Github上的原文XMPP环境搭建步骤,英语能力差不多的可以看看
Getting started using XMPPFramework on iOS Here is a post on StackOverflow describing how to install ...
- 【论文 PPT】 【转】Human-level control through deep reinforcement learning(DQN)
最近在学习强化学习的东西,在网上发现了一个关于DQN讲解的PPT,感觉很是不错,这里做下记录,具体出处不详. ============================================= ...
- 深度强化学习介绍 【PPT】 Human-level control through deep reinforcement learning (DQN)
这个是平时在实验室讲reinforcement learning 的时候用到PPT, 交期末作业.汇报都是一直用的这个,觉得比较不错,保存一下,也为分享,最早该PPT源于师弟汇报所做.
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- 关于如何在github上创建团队开发环境
今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...
- Github上传代码菜鸟超详细教程【转】
最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...
- 将 GitHub 上的代码向 Coding 更新
问题: 从 GitHub 上 clone 代码到本地很慢,10 KB/s 左右,为了解决这个问题,尝试将 GitHub 上的代码通过离线下载的方式,用百度云和115网盘下载,经常失败,弃之~ 国内也有 ...
- IDEA上使用github上传代码
这里的origin是表示我创建一个名为origin的仓库吗? 早已经存在了,我该怎么删除这个wenda呢? 将它修改为wenda1,如下: 点击项目,右击: 再点击项目,右击,选择commit: 问题 ...
随机推荐
- servlet-api-2.4.jar not loaded(转)
信息: validateJarFile(D:/xj/workspace/webworktest/webapp/WEB-INF/lib/servlet-api-2.4.jar) - jar not lo ...
- activiti实战系列之动态表单 formService 自定义变量类型
目前Activiti默认支持的类型有String,long,enum,date,boolean,collection 要自定义字段类型,首先需要表单类型解析类 /** * @Author:LJ * @ ...
- [LeetCode] 110. Balanced Binary Tree ☆(二叉树是否平衡)
Balanced Binary Tree [数据结构和算法]全面剖析树的各类遍历方法 描述 解析 递归分别判断每个节点的左右子树 该题是Easy的原因是该题可以很容易的想到时间复杂度为O(n^2)的方 ...
- linux磁盘管理 磁盘查看操作
df查看磁盘分区使用状况 df --显示磁盘分区使用状况 'l' 仅显示本地磁盘(默认) 'a' 显示所有文件系统的磁盘使用情况,包含比如/proc/ 'h' 以1024进制计算最合适的单位显示磁盘容 ...
- java实现按中文首字母排序的方式
public class ABD { public static void main(String[] args) { //Collator类是用来执行区分语言环境的String比较的,这里是选择CH ...
- JNA调用DLL(入门):让你一眼就学会
DLL(Dynamic Link Library)文件,是基于C语言的动态链接库文件,就是一些封装好的方法,打成dll格式包,供别人调用 JNA是一种能够使Java语言使调用DLL的一种技术, 首先, ...
- 04 复制删除行为IDA反汇编
(很久以前的学习记录,放到博客上来) (IDA5.0版的不知道为何反汇编进去每一行被截断的景象,惨不忍睹......明明是个正版的.只好回来用拷过来的破解版,依然有一些叽里呱啦的问题,懒得管了, ...
- java动态代理的实现
1.首先定义一个委托类的接口Subject,应该必须是接口,而不能是抽象类.因为Proxy.newProxyInstance方法的第二个参数需要委托类实现的接口. public static Obje ...
- 201621123001 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 关于泛型 <T extends Comparable <T ...
- jdk,jre和jvm
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库 JRE是Java Runtime En ...