【RL从入门到放弃】【二十七】【google dopamine】

Dopamine 使用教程 简介 基本信息介绍 现有的 RL 框架并没有结合灵活性和稳定性以及使研究人员能够有效地迭代 RL 方法,并因此探索可能没有直接明显益处的新研究方向。所以Google推出一个基于 Tensorflow 的框架,旨在为 RL 的研究人员提供灵活性、稳定性和可重复性。此版本还包括一组阐明如何使用整个框架的 colabs。 精简的代码(大约 15 个Python 文件)。通过专注于 Arcade 学... 阅读详情

除了OpenAI,还有其他巨头在做强化学习的工作(尤其是深度强化学习),这里介绍Google和Facebook两家开源的工程,分别是Dopamine和Horizon,Github上地址分别为:https://github.com/google/dopamine 和 https://github.com/facebookresearch/Horizon

Dopamine is a research framework for fast prototyping【原型】 of reinforcement learning algorithms. It aims to fill the need for a small, easily grokked codebase in which users can freely experiment with wild ideas (speculative【投机的】 research).

Our design principles are:

  • Easy experimentation: Make it easy for new users to run benchmark experiments.【这个和benchmark有什么关系呢?】
  • Flexible【灵活的】 development: Make it easy for new users to try out research ideas.
  • Compact【紧凑】 and reliable: Provide implementations【实现】 for a few, battle-tested【实战测试】 algorithms.
  • Reproducible【可重复的】: Facilitate【促进】 reproducibility【再生性】 in results. In particular, our setup follows the recommendations【建议】 given by Machado et al. (2018).

  In the spirit of these principles, this first version focuses on supporting the state-of-the-art, single-GPU Rainbow agent (Hessel et al., 2018) applied to Atari 2600 game-playing (Bellemare et al., 2013). Specifically, our Rainbow agent implements the three components identified【确定】 as most important by Hessel et al.:

For completeness, we also provide an implementation of DQN (Mnih et al., 2015). For additional details, please see ourdocumentation.

We provide a set of Colaboratory notebooks which demonstrate【演示】 how to use Dopamine.

基本信息介绍

现有的 RL 框架并没有结合灵活性和稳定性以及使研究人员能够有效地迭代 RL 方法,并因此探索可能没有直接明显益处的新研究方向。所以Google推出一个基于 Tensorflow 的框架,旨在为 RL 的研究人员提供灵活性、稳定性和可重复性。此版本还包括一组阐明如何使用整个框架的 colabs。

精简的代码(大约 15 个Python 文件)。通过专注于 Arcade 学习环境(一个成熟的,易于理解的基准)和四个基于 value 的智能体来实现的

DQN:DeepMind 的深度 Q 网络,核心就是强化学习
C51
一个精心策划的 Rainbow 智能体的简化版本
隐式分位数网络(Implicit Quantile Network)智能体
对于新的研究人员来说,能够根据既定方法快速对其想法进行基准测试非常重要。因此,我们为 Arcade 学习环境支持的 60 个游戏提供四个智能体的完整培训数据,可用作 Python pickle 文件(用于使用我们框架训练的智能体)和 JSON 数据文件(用于与受过其他框架训练的智能体进行比较);我们还提供了一个网站,你可以在其中快速查看 60 个游戏中所有智能体的训练运行情况。
首先我在ubutun上遇到了安装这两个安装包无法安装上的问题:

sudo apt-get install cmake zlib1g-dev

这个主要是由于权限的问题:

python tests/atari_init_test.py   这个主要是使用来测试是否安装成功的

(easytensor27) chen@chen-ThinkStation-D30:~/dopamine$ export PYTHONPATH=${PYTHONPATH}:.
(easytensor27) chen@chen-ThinkStation-D30:~/dopamine$ python tests/atari_init_test.py
2018-09-06 14:51:45.927207: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX
2018-09-06 14:51:46.254906: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1392] Found device 0 with properties: 
name: Quadro K5200 major: 3 minor: 5 memoryClockRate(GHz): 0.771
pciBusID: 0000:05:00.0
totalMemory: 7.43GiB freeMemory: 6.93GiB
2018-09-06 14:51:46.254964: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1471] Adding visible gpu devices: 0
2018-09-06 14:51:53.170582: I tensorflow/core/common_runtime/gpu/gpu_device.cc:952] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-09-06 14:51:53.170646: I tensorflow/core/common_runtime/gpu/gpu_device.cc:958]      0 
2018-09-06 14:51:53.170661: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0:   N 
2018-09-06 14:51:53.171022: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1084] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6707 MB memory) -> physical GPU (device: 0, name: Quadro K5200, pci bus id: 0000:05:00.0, compute capability: 3.5)
I0906 14:51:53.344151 140619312887552 tf_logging.py:115] Creating DQNAgent agent with the following parameters:
I0906 14:51:53.344964 140619312887552 tf_logging.py:115] 	 gamma: 0.990000
I0906 14:51:53.345103 140619312887552 tf_logging.py:115] 	 update_horizon: 1.000000
I0906 14:51:53.345235 140619312887552 tf_logging.py:115] 	 min_replay_history: 20000
I0906 14:51:53.345361 140619312887552 tf_logging.py:115] 	 update_period: 4
I0906 14:51:53.345479 140619312887552 tf_logging.py:115] 	 target_update_period: 8000
I0906 14:51:53.345597 140619312887552 tf_logging.py:115] 	 epsilon_train: 0.010000
I0906 14:51:53.345712 140619312887552 tf_logging.py:115] 	 epsilon_eval: 0.001000
I0906 14:51:53.345829 140619312887552 tf_logging.py:115] 	 epsilon_decay_period: 250000
I0906 14:51:53.345943 140619312887552 tf_logging.py:115] 	 tf_device: /gpu:0
I0906 14:51:53.346056 140619312887552 tf_logging.py:115] 	 use_staging: True
I0906 14:51:53.346170 140619312887552 tf_logging.py:115] 	 optimizer: <tensorflow.python.training.rmsprop.RMSPropOptimizer object at 0x7fe3d692cb10>
I0906 14:51:53.359112 140619312887552 tf_logging.py:115] Creating a OutOfGraphReplayBuffer replay memory with the following parameters:
I0906 14:51:53.359287 140619312887552 tf_logging.py:115] 	 observation_shape: 84
I0906 14:51:53.359469 140619312887552 tf_logging.py:115] 	 stack_size: 4
I0906 14:51:53.359643 140619312887552 tf_logging.py:115] 	 replay_capacity: 100
I0906 14:51:53.359824 140619312887552 tf_logging.py:115] 	 batch_size: 32
I0906 14:51:53.359994 140619312887552 tf_logging.py:115] 	 update_horizon: 1
I0906 14:51:53.360157 140619312887552 tf_logging.py:115] 	 gamma: 0.990000
I0906 14:51:55.830522 140619312887552 tf_logging.py:115] Beginning training...
W0906 14:51:55.830992 140619312887552 tf_logging.py:125] num_iterations (0) < start_iteration(0)
..
----------------------------------------------------------------------
Ran 2 tests in 10.286s
 

还是慢慢转移到windows上,因为很多开发对windows都是不支持的,或者说支持性很不好.

pip install absl-py atari-py gin-config gym opencv-python

sudo apt-get install python-opencv

标准的 Atari 2600 实验 是

python -um dopamine.discrete_domains.train \
  --base_dir=/tmp/dopamine \
  --gin_files='dopamine/agents/dqn/configs/dqn.gin'

可以调整dopamine/agents/dqn/configs/dqn.gin中的文件来设置运行参数

那感觉他就是在研究算法,而我们更加关心的是如何落地的问题.而且最重要的一点是他没有图形化的界面,实际上不是很直观.

在ubutun下面安装和启动notebooke

sudo pip install jupyter

启动的命令是:jyputer notebook

Google自己有一个Colabs项目,是一个在云端运行的免费的 Jupyter 笔记本环境,不需要进行任何设置就可以使用。Dopamine的colab文件夹下,有很多文件可供参考:
utils.py包含了进行实验展示的一系列方法。
agents.ipyn介绍了如何创建DQN agent或者新建一个agent。
load_statistics.ipynb 介绍了对统计数据进行加载和分析。
tensorboard.ipynb介绍了使用tensorboard进行图形化。
cartpole.ipynb介绍了使用DQN和C51对Cartpole进行训练的例子。
虽然下面这个例子没办法执行,但是能看出google提供的这个框架大致能让我们作什么:

 

 

 

Python-Dopamine谷歌开源基于TensorFlow的强化学习框架 Dopamine is a research framework for fast prototyping of reinforcement learning algorithms. 立即下载

相关推荐

政府科技管理者如何提升区域科技成果转化项目的评价与筛选效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Python-DQN代码阅读-填充回放记忆(replay memory)(5)

Python-DQN代码阅读-填充回放记忆(replay memory) epsilon = max(epsilon_start - float(i) * delta_epsilon, epsilon_end) action_probs = policy(sess, state, epsilon) action = np.random.choice(np.arange(len(action_probs)), p=action_probs) env.render()

aaaccc444的博客 1370

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

清影的博客 6281

深入解析Dopamine强化学习框架:5大策略可视化与决策过程理解指南

Dopamine是Google开发的一个轻量级强化学习研究框架,专为快速原型设计和算法实验而设计。这个开源框架提供了多种先进强化学习算法的实现,包括DQN、C51、Rainbow、IQN、SAC和PPO等,让研究人员和开发者能够快速验证新想法并理解模型决策过程。 ## 🎯 为什么需要强化学习模型解释性分析? 在强化学习领域,模型的"黑盒"特性常常让开发者难以理解智能体是如何做出决策的。Dop

gitblog_00573的博客 330

Java对接(BSC)币安链 | BNB与BEP20的开发实践(三)水龙头 WEB3

这一节我们讲一个币安测试链如何获取到BNB、USDT等BEP20数字货币(水龙头)来让我们前期测试开发。如图:我们将创建的地址填入相应输入框,来获取到测试BNB以及其他BEP20数字币。发币可能需要交易等待,请耐心等待即可,交易完成后,币会到达您的地址内。上一节我们用代码来实现BNB转账、BEP20转账、链上交易监控。2.MetaMask(小狐狸)浏览器插件 🪜。使用EDGE浏览器可以在浏览器直接打开。使用Chrome浏览器,请使用🪜打开。基本工作就绪后,即可进行开发测试。3. 测试区块链浏览器 🪜。

大猩猩的专栏 2790

深入分析RAG知识库多模态数据预处理

多模态企业数据预处理是构建高质量RAG知识库的关键环节。本文详解了处理流程:1)文档格式识别与路由;2)多模态内容提取(文本、图像、音视频);3)结构解析与语义重建;4)数据清洗与增强;5)智能分块(强调语义完整性);6)元数据注入。推荐使用开源工具如PaddleOCR、Whisper、BLIP-2等,或商业API处理复杂场景,最终生成带丰富元数据的结构化内容,为后续向量化检索奠定基础。

qq_35354529的博客 1379

Google dopamine 搜索框架算法 -py 语言-立哥开发

# Copy Right 2020 Jacky Zong. All rights reserved. #coding=utf-8 """Tests for dopamine.agents.rainbow.rainbow_agent. """ from __future__ import absolute_import from __future__ import division from __future__ import print_function from dopamine.agents.dq

weixin_45806384的博客 244

手把手教你用Qt5打造二次元游戏启动器(附鸣潮同款UI源码)

本文详细介绍了如何使用Qt5框架从零开始构建一个功能完整、UI风格贴近《鸣潮》的二次元游戏启动器。教程涵盖无边框窗口、动态背景、自定义控件绘制、多线程资源加载以及下载管理等核心模块的实现,并提供了可运行的源码参考,帮助C++开发者和Qt爱好者深入掌握现代桌面应用开发技术。

weixin_29291863的博客 264

生物,AI,心理:目前的大脑/认知/意识/AGI/DRL模型

来源:人工智能前沿讲习一 基于生物和经验的模型首先是 2012 年的 Spaun,基于生物基础(脑图谱),类生物神经元(尖峰放电 SNN)。在训练后可完成多种识别和生成和反应任务。m...

人工智能学家 1577

MUJOCO+AUBO机械臂+强化学习+路径规划

最近在学习机械臂强化学习路径规划,参考了知乎教程。由于原教程较老(使用stable baselines3+panda-gym),新版本变化了,我略做调整,记录写在。上面这个教程用的是官方,环境封装较死(类似),最终基于重新开发。代码已开源至github:https://github.com/YellowThree-HS/mujoco-Aubo-RL-PathPlanning。

qq_63308550的博客 2044

i茅台最新任务python脚本

从固定的 `header_context` 生成HTTP请求头,并加入用户的`userId`、`MT-Token`等动态信息,以模仿真实的请求。- 发送预约请求,提交商品和门店的参数,如 `sessionId`、`shopId`、`itemId` 等。- 定时任务:通过 `cron` 表达式 `0 0 9/21 * * *`,表示每月的9日和21日的0点执行。- `login`:使用验证码进行登录,并返回 `token` 和 `userId`。- 获取北京时间当天0点的时间戳,作为预约请求的时间参数。

三维点云技术探索 982

《Nature》最新研究:大脑中存在分布式强化学习机制A distributional code for value indopamine-basedreinforcementlearning

总结来说,研究者发现大脑中的每个多巴胺神经元都被调到了不同的积极或消极程度。要是它们是一个唱诗班,它们唱的并不是一个音符,而是在唱和声,它们都像低音或女高音歌手一样,有着各自始终如一的声带。在人工强化学习系统中,这种多样的调整,创造了更加丰富的训练信号,极大地加速了神经网络中的学习速度,研究者推断大脑也会出于这种考量而去采用这种多样的调整方式。大脑中现存的分布式强化学习,对AI 和神经科学都有着非常有意思的影响。

具身机器人和通用AI 1127

C#上位机开发:西门子/三菱PLC通信,新手直接上手

对着西门子S7协议文档看半天,连“DB块地址怎么写”都搞不懂;写三菱PLC代码时,分不清MC协议和Modbus的区别,代码改来改去连不上;好不容易跑通代码,换个PLC型号又报错,不知道哪里出问题;后来发现,新手学PLC通信根本不用先啃协议文档——先跑通“能通信”的代码,再慢慢理解底层逻辑,效率至少提升3倍。西门子PLC:用S7NetPlus库(新手最友好),实现以太网通信,支持S7-200 SMART/1200/1500;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 880

软件类配置(五)【强化学习算法框架-Ubuntu16.04安装谷歌Dopamine及初步测试】

软件类配置(五)【强化学习算法框架-Ubuntu16.04安装谷歌Dopamine及初步测试】

小小何先生的学习之旅 2322

48-OpenCVSharp —-Cv2.MatchTemplate() 函数功能(模板匹配)详解

是 OpenCV 中一个常见且简单的模板匹配算法,适用于目标检测和图像识别中的静态场景。它的优点是易于理解和实现,但在面对旋转、尺度变化、复杂背景或光照变化等挑战时,效果可能大打折扣。在这些情况下,结合多尺度图像、特征匹配算法(如 SIFT、SURF、ORB 等)以及深度学习模型可以显著提高匹配的鲁棒性和精度。模板匹配仍然是一个非常基础但强大的工具,适用于一些简单的图像匹配任务。对于更加复杂和动态的图像识别任务,我们通常会使用其他更加复杂的算法或者深度学习模型来处理。

weixin_45590420的博客 4523

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

(转)谷歌公开dopamine

上周那个在DOTA2 TI8赛场上“装逼失败”的OpenAI Five,背后是强化学习的助推。 其实不仅仅是OpenAI Five,下围棋的AlphaGo和AlphaGo Zero、玩雅达利街机游戏的DeepMind DQN(deep Q-network),都离不开强化学习(Reinforcement Learning)。 现在,谷歌发布了一个基于TensorFlow的强化学习开源框架,名叫D...

去向前方的博客 808

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Dopamine - 灵活、可重复的强化学习研究新框架

文 / 研究软件开发人员 Pablo Samuel Castro 和Google Brain Team 研究科学家 Marc G. Bellemare 来源 | 谷歌开发者 公众号 在过去的几年中,强化学习(RL)研究取得了多方面的重大进展。 这些进步使 AI 智能体能够在一些游戏上超越人类 – 其中,令人瞩目的例子有:DeepMind 攻破 Atari 游戏的 DQN,在围棋中获得瞩目的 Alp...

weixin_33966095的博客 294

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

令人激动!谷歌推强化学习新框架「多巴胺」,基于TensorFlow,已开源丨附github...

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI上周那个在DOTA2 TI8赛场上“装逼失败”的OpenAI Five,背后是强化学习的助推。其实不仅仅是Op...

量子位 1562

谷歌发布开源Dopamine 2.0

https://www.toutiao.com/a6656320158287528461/   2019-02-10 18:41:46 写在前面 去年八月,谷歌发布了 Dopamine,这是一款灵活的强化学习框架。初始版本专注于特定类型的 RL 研究:基于 Arcade 学习环境(一个成熟的、易于理解的基准)和四个基于值的代理 DQN、C51、Rainbow 代理的简化版本以及隐式分位数网...

喜欢打酱油的老鸟 806

强化学习系列3:Google的Dopamine和Facebook的Horizon

#1. Spinning Up简介 spinning up 的网址是:https://blog.openai.com/openai-scholars-2019/ 这是一个深度强化学习的很好的资源。 #2. spinning up安装

kittyzc的博客 1551

Google 开源新型强化学习框架 Dopamine

开发四年只会写业务代码,分布式高并发都不会还做程序员? Google 近日宣布开源一个新的基于 Tensorflow ...

weixin_33882443的博客 207

谷歌发布开源Dopamine 2.0,让强化学习变得更灵活

强化学习(RL)已成为最受欢迎的机器学习领域之一,并且在过去几年中取得了许多重大进展。因此,研究人员和教育工作者越来越需要获得一个清晰可靠的RL研究和教育框架。去年8月,谷歌发布了一款全新的开源强化学习框架 Dopamine,该框架基于 TensorFlow,主打灵活性、稳定性、复现性,能够提供快速的基准测试。今天,谷歌发布Dopamine 2.0,为强化学习提供了更高的灵活性以及更多的测试环境。...

cpongo011702 497

业界 |「多巴胺」来袭!谷歌推出新型强化学习框架Dopamine

作者:Pablo Samuel Castro、Marc G. Bellemare  来源:Google AI Blog,机器之心摘要:在过去几年里,强化学习研究取得了多方...

人工智能学家 641

[强化学习]OpenAI官方发布:强化学习中的关键论文

【导读】OpenAI 在教学资源合集 Spinning Up中发布了强化学习中的关键论文,列举了强化学习不同领域的代表性文章来指导研究者的学习。此外Spinning Up 包含清晰的 RL 代码示例、习题、文档和教程可供参考。1. Model-Free RL2. Exploration3. Transfer and Multitask RL4. Hierarchy5. Memory6. Model...

sinat_33487968的博客 5020

分布式强化学习基础概念(Distributional RL )

分布式强化学习基础概念(Distributional RL) from: https://mtomassoli.github.io/2017/12/08/distributional_rl/ 1. Q-learning 在 Q-learning 中,我们想要优化如下的 loss:    Distributional RL 的主要思想是:to work direct...

a1424262219的博客 1428

关于深度强化学习框架的选择

  入门深度强化学习之后,如何学习经典论文的代码是一个问题。一方面可以通过github上搜索解决这个问题,但质量参差不齐,尝试之后无法跑通会浪费大量时间;另一方面许多优秀的团队开发了深度强化学习的开源框架,结合文档,可以很快上手,阅读源码也可以学习优秀的代码风格。   我也面临学习强化学习算法代码的问题。今天看到一篇分析各种强化学习框架的文章(该文章发布于2019年):A Comparison of Reinforcement Learning Frameworks: Dopamine, RLLib, Ke

crud_player的博客 2421
上一篇: 【RL从入门到放弃】【二十六】【OpenAI gym玩打砖块游戏】
下一篇: 【SuttonBartoIPRLBook2ndEd】【preface】
money_yuan
博客等级 码龄10年 104粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值