面向分布式强化学习的经验回放框架(使用例子Demo)——Reverb: A Framework for Experience Replay

相关前文:

面向分布式强化学习的经验回放框架——Reverb: A Framework for Experience Replay

 

 

论文题目:

Reverb: A Framework for Experience Replay

地址:

https://arxiv.org/pdf/2102.04736.pdf

 

 

框架代码地址:

https://github.com/deepmind/reverb 

 

 

 

环境安装:

pip install dm-reverb[tensorflow]

 

 

============================================

 

 

 

Example 1: Overlapping Trajectories

 

关于语句:

with client.trajectory_writer(num_keep_alive_refs=3) as writer:

个人的理解是,client中的数据如果需要进行insert操作,那么需要先申请一段缓存空间的,其中缓存空间的大小定义就是上面的参数num_keep_alive_refs,而writer.append操作是将数据写入到client端的缓存中,也就是num_keep_alive_refs所定义大小的缓存空间中,writer.create_item则是执行将加入到缓存空间中的数据insert到服务端的操作。这就需要保证writer.create_item的时候数据是需要保持在缓存中的,也就是说num_keep_alive_refs需要足够大,不然缓存空间中没有对应的数据而此时执行writer.create_item则是会报错的,当然我们也可以直接将num_keep_alive_refs设置为一个足够大的数,但是这样就会造成client端内存的浪费。

num_keep_alive_refs所定义大小的client端缓存空间中数据会由于writer.append操作造成旧数据移除,比如上面例子中如果设置语句:

with client.trajectory_writer(num_keep_alive_refs=2) as writer:

就会报错,但是设置语句:

with client.trajectory_writer(num_keep_alive_refs=4) as writer:

就不会报错。

 

 

posted on   Angry_Panda  阅读(152)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2022-01-01 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(3) —— 游戏AI解法设计篇
2021-01-01 台式机电脑散热之狂想曲——主机机箱散热的另类方法(纯空想中ing)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示