当前位置: 首页 > news >正文

Isaac-gym(9):项目更新、benchmarks框架梳理

一、项目更新

近期重新git clone isaac gym的强化部分(具体见系列第5篇)时发现官方的github库有跟新,git clone下来后发现多了若干个task,在环境配置上也有一定区别。
例如新旧两版工程项目的setup.py区别如下:
在这里插入图片描述
git clone新项目后直接在之前配置好的环境中运行,会有报错如下:

Error executing job with overrides: ['task=Cartpole']
Traceback (most recent call last):File "train.py", line 146, in launch_rlg_hydrarunner = build_runner(RLGPUAlgoObserver())File "train.py", line 137, in build_runnermodel_builder.register_model('continuous_amp', lambda network, **kwargs : amp_models.ModelAMPContinuous(network))
AttributeError: module 'rl_games.algos_torch.model_builder' has no attribute 'register_model'Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

根据新项目的setup.py的提示添加了如下的环境:

ip install rl-games==1.5.2
pip install gym==0.24.1
pip install pyvirtualdisplay

添加后可以运行新的工程项目。

二、benchmark框架梳理

给出的tasks实例位于如下路径:

~/IsaacGymEnvs/isaacgymenvs/tasks

执行命令为:

python train.py task=task名称

2.1 task相关程序构成

每一个task主要由三个文件构成:

  • 主程序:task名.py
    在tasks文件夹下以task名称命名task名.py的文件是主体程序,包含程序主要设计,环境生成,奖励函数,控制模块等等;

  • 强化学习算法配置文件:task名PPO.yaml
    位于~/isaacgymenvs/cfg/train
    主要是包含强化学习相关的配置参数

  • task参数文件:task名.yaml
    位于~/isaacgymenvs/cfg/task
    主要包含此task的名称,训练环境数量,需要用到的初始参数,加载的各类模型(urdf文件等)路径;以及仿真环境sim信息(轴向、重力、physx相关系数等)

2.2 训练后得到文件

训练后,生成的模型文件位于~/isaacgymenvs/runs/task名
文件夹内包含nn,summaries.config.yaml三个文件

其中config.yaml为本次训练的环境参数(env)、仿真参数(sim)、训练参数(train)等;

nn文件夹内为后缀为.pth的模型文件,可以用命令进行回放(相关指令见之前博文或官网);每一定周期内会生成一个过程文件,名称为last_task名_ep_x_rew_x.pth,其中x为相关参数;有一最优参数保留的模型文件名称为task名.pth,在终端可以看到.pth文件的打印与更新提示

2.3 task主程序逻辑图

个人绘制,如有错误还请见谅,欢迎指出,随时交流

在这里插入图片描述
撰写自己的task时,模板位于~/isaacgymenvs/tasks/base/vec_task.py,所有程序根据此车程序进行子类化。

http://www.lryc.cn/news/24938.html

相关文章:

  • Linux 学习笔记(一):终端 和 Shell 的区别和联系
  • cycleGAN算法解读
  • 解读“方差”
  • 记录面试问题
  • (六十四)设计索引的时候,我们一般要考虑哪些因素呢?(上)
  • 【蓝桥杯嵌入式】LCD屏的原理图解析与代码实现(第十三届省赛为例)——STM32
  • 论文学习——Reproducing Activation Function for Deep Learning
  • 【趣味学Python】Python基础语法讲解
  • 虚拟局域网VLAN的实现机制
  • Mask R-CNN 算法学习总结
  • Gorm -- 添加记录
  • go提高升阶(四) I/O流学习
  • 【代码随想录训练营】【Day28】第七章|回溯算法|93.复原IP地址|78.子集|90.子集II
  • Get请求和Post请求区别
  • static关键字
  • A Comprehensive Tool for Modeling CMOS Image-Sensor-Noise Performance论文总结及翻译
  • 嘀嗒出行再闯IPO:千军万马我无懈
  • MATLAB算法实战应用案例精讲-【优化算法】增强型鲸鱼优化算法(EWOA)(附matlab代码实现)
  • 登录Oracle数据库遇到ORA-01017密码错误的解决办法
  • 10个黑客基础教程!简单有效
  • JPA之实体之间的关系
  • 如何在 C++ 中调用 python 解析器来执行 python 代码(三)?
  • 【Linux】gcc/g++/gdb的使用
  • 浅浅谈一谈B树和B+树
  • Keil新建一个国民32位MCU工程
  • webpack.config.js与package.json文件的配置
  • 超详细Eclipse配置JDK
  • 成功解决numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares
  • Allegro如何设置铜皮避让的优先级操作指导
  • (Trie Tree)字典树