最近师弟在做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配置的更多相关文章

  1. Github上的原文XMPP环境搭建步骤,英语能力差不多的可以看看

    Getting started using XMPPFramework on iOS Here is a post on StackOverflow describing how to install ...

  2. 【论文 PPT】 【转】Human-level control through deep reinforcement learning(DQN)

    最近在学习强化学习的东西,在网上发现了一个关于DQN讲解的PPT,感觉很是不错,这里做下记录,具体出处不详. ============================================= ...

  3. 深度强化学习介绍 【PPT】 Human-level control through deep reinforcement learning (DQN)

    这个是平时在实验室讲reinforcement learning 的时候用到PPT, 交期末作业.汇报都是一直用的这个,觉得比较不错,保存一下,也为分享,最早该PPT源于师弟汇报所做.

  4. 使用Windows下的git工具往github上传代码 踩坑记录

    使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...

  5. 【iOS 使用github上传代码】详解

    [iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...

  6. 关于如何在github上创建团队开发环境

    今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...

  7. Github上传代码菜鸟超详细教程【转】

    最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...

  8. 将 GitHub 上的代码向 Coding 更新

    问题: 从 GitHub 上 clone 代码到本地很慢,10 KB/s 左右,为了解决这个问题,尝试将 GitHub 上的代码通过离线下载的方式,用百度云和115网盘下载,经常失败,弃之~ 国内也有 ...

  9. IDEA上使用github上传代码

    这里的origin是表示我创建一个名为origin的仓库吗? 早已经存在了,我该怎么删除这个wenda呢? 将它修改为wenda1,如下: 点击项目,右击: 再点击项目,右击,选择commit: 问题 ...

随机推荐

  1. C++ leetcode::Reverse Integer

    第一天上课,数据库老师说对于计算机系的学生,凡是在课本上学到的专业知识都是过时的.深以为然,感觉大学两年半真的不知道学了什么,为未来感到担忧,C++也不敢说是精通,入门还差不多.最近丧的不行,不管怎么 ...

  2. ActiveMQ异步分发消息

    org.apache.activemq.ActiveMQConnection 类中有个参数: protected boolean dispatchAsync=true; 这个参数的含义到底是什么? 使 ...

  3. python(6)之文件

    一.读写文件 以追加文件内容(a).读(r).写(w),读写(r+)的形式打开文件: f = open('yesterday','a',encoding='utf-8')#文件句柄 #输出一行文件内容 ...

  4. Unity中物体碰撞后去掉相互之间的反弹力

    最近自制了一个的角色控制器(没有重力的角色)时发现,角色碰撞到墙壁之后会有一个小小的反弹力导致角色有一个微弱的反弹位移,这样给人一种不好的感觉.研究了一下,除了限制坐标轴( Rigidbody---C ...

  5. markdown语法模板

    (GitHub-Flavored) Markdown Editor Basic useful feature list: Ctrl+S / Cmd+S to save the file Ctrl+Sh ...

  6. 锤子科技 Smartisan M1L 咖啡金 真皮背面 高配版 5.7

    http://www.smartisan.com/m1/#/os    快人一步的OS http://www.smartisan.com/shop/#/buyphone?c=coffee&v= ...

  7. elasticsearch基本操作之--使用QueryBuilders进行查询

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es中提供的一个查询接口, 可以 ...

  8. mySQL 分组查询,根据分组的字段,取最小值

    今天看到别人问的问题,给别人写了一条sql! CREATE TEMPORARY TABLE tmp_table ( id INTEGER not NULL, uname VARCHAR(10) NOT ...

  9. python中各种遇到的函数

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(lis ...

  10. :工厂模式1:方法模式--Pizza

    #ifndef __PIZZA_H__ #define __PIZZA_H__ class Pizza { public: Pizza(){} virtual ~Pizza(){} virtual c ...