habitat模型训练总结(一):点导航PPO

本文对habitat环境中的baseline点导航PPO的模型的构建和训练进行总结

0 训练代码

这个代码在上一篇文章出现过,再粘贴过来,如下:

import random
import numpy as np
from habitat_baselines.common.baseline_registry import baseline_registry
from habitat_baselines.config.default import get_config as get_baselines_config
import torchif __name__ == "__main__":run_type = "train"config = get_baselines_config("../habitat_baselines/config/pointnav/ppo_pointnav_example.yaml")config.defrost()config.TASK_CONFIG.DATASET.DATA_PATH="/home/yons/LK/skill_transformer-main/data/datasets/pointnav/habitat-test-scenes/v1/{split}/{split}.json.gz"config.TASK_CONFIG.DATASET.SCENES_DIR="/home/yons/LK/skill_transformer-main/data/scene_datasets"config.freeze()random.seed(config.TASK_CONFIG.SEED)np.random.seed(config.TASK_CONFIG.SEED)torch.manual_seed(config.TASK_CONFIG.SEED)if config.FORCE_TORCH_SINGLE_THREADED and torch.cuda.is_available():torch.set_num_threads(1)trainer_init = baseline_registry.get_trainer(config.TRAINER_NAME)print('trainer_init:',trainer_init)assert trainer_init is not None, f"{config.TRAINER_NAME} is not supported"trainer = trainer_init(config)if run_type == "train":trainer.train()elif run_type == "eval":trainer.eval()

1 trainer

在配置文件中要配置TRAINER_NAME,上面代码中的config.TRAINER_NAME是ppo,然后通过

trainer = trainer_init(config)

这句话,trainer就成了一个rl.ppo.ppo_trainer.PPOTrainer对象。在......./habitat_baselines/rl/ppo/ppo_trainer.py中定义

2 训练过程

我们看到训练过程调用了rl.ppo.ppo_trainer.PPOTrainer中的train()方法

  trainer.train()

TODO:对train()方法进行分析

3 模型结构定义

PPO是actor_critic结构,需要两个网络一个actor网络,一个critic网络。这两个网络可以共享参数也可以不共享参数。habitat中的ppo在特征提取阶段采用了参数共享,然后分出了两个头。

@baseline_registry.register_trainer(name="ddppo")
@baseline_registry.register_trainer(name="ppo")
class PPOTrainer(BaseRLTrainer):r"""Trainer class for PPO algorithmPaper: https://arxiv.org/abs/1707.06347."""supported_tasks = ["Nav-v0"]SHORT_ROLLOUT_THRESHOLD: float = 0.25_is_distributed: boolenvs: VectorEnvagent: PPOactor_critic: NetPolicydef __init__(self, config=None):super().__init__(config)self.actor_critic = Noneself.agent = Noneself.envs = Noneself.obs_transforms = []self._static_encoder = Falseself._encoder = Noneself._obs_space = None# Distributed if the world size would be# greater than 1self._is

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytest 测试常用功能

1. pytest基础功能 命名规则 文件名以test_*.py文件和*_test.py 以test_开头的函数 以Test开头的类, 注意:类不能包含__init__构造函数 以test_开头的方法 所有的包pakege必须要有__init__.py文件常用命令 pytest --help # 查看帮助cmd执行pytest用例有三种方法…

【重温设计模式】备忘录模式及其Java示例

备忘录模式的概述 在软件设计的世界中,备忘录模式是一种行为设计模式,它的主要作用是保存对象的当前状态,以便在将来的某个时间点,可以将对象恢复到这个保存的状态。这种模式的命名源于生活中的备忘录,我们常常用它来…

俄罗斯方块h5源码

上传源码至服务器和空间即可使用,源码无后门,就一天html文件,一个两个css文件以及一个js文件 源码下载:https://download.csdn.net/download/m0_66047725/88897605 更多资源下载:关注我。

148个Chatgpt关键词汇总-有爱AI实战教程(二)

演示站点: https://ai.uaai.cn 技能模块 官方论坛: www.jingyuai.com 京娱AI 导读:在使用 ChatGPT 时,当你给的指令越精确,它的回答会越到位,举例来说,假如你要请它帮忙写文案,如…

devops-Maven【部署及配置】

1、准备maven工具包,Maven官网下载Maven的安装包 Maven – Download Apache Maven Index of /maven (apache.org) 选择后缀是.bin.tar.gz的文件下载,此处下载的版本是3.9.6。 2、安装maven的目录下,建一个Maven路径,然后把压缩…

JAVA虚拟机实战篇之内存调优[5](诊断和解决问题-两种方式总结)

文章目录 版权声明诊断和解决问题 - 两种方案在线定位问题步骤在线定位问题 – btrace 总结内存溢出&内存泄漏内存溢出原因解决内存泄漏方法 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程序员或相关权…

springboot项目docker分层构建

一、需求场景 在使用dockerfile构建springboot项目时&#xff0c;速度较慢&#xff0c;用时比较长&#xff0c;为了加快构建docker镜像的速度&#xff0c;采用分层构建的方式 二、构建配置 1、pom.xml配置 <properties><project.build.sourceEncoding>UTF-8<…

探索数据可视化:Matplotlib 基础指南

图形绘制 import numpy as np import pandas as pd import matplotlib.pyplot as pltx np.linspace(0,2 * np.pi,100)# 说明&#xff1a;正弦波。x&#xff1a;NumPy数组 # 所有的数据&#xff0c;进行正弦计算 y np.sin(x)plt.plot(x,y)# 指定x轴范围 plt.xlim(-1,10) # 指…

Python的requests库发送HTTPS请求时,SSL证书验证的流程

建立连接&#xff1a;当你使用requests库发送HTTPS请求时&#xff0c;它会尝试与目标服务器建立安全的SSL连接。 获取服务器SSL证书&#xff1a;服务器会将自己的SSL证书发送给客户端&#xff08;即你的请求&#xff09;。 验证证书&#xff1a;requests库会验证服务器返回的…

746. 使用最小花费爬楼梯 (Swift版本)

题目 给你一个整数数组 cost&#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 限制条件 2…

【嵌入式】揭秘嵌入式产品启动奥秘:从硬件上电到应用全速运行的精彩旅程

1. 概述 嵌入式产品的启动过程是一个复杂而有序的过程&#xff0c;涉及硬件初始化、引导加载程序&#xff08;bootloader&#xff09;的执行、操作系统的加载和初始化以及用户应用程序的启动等多个阶段。下面&#xff0c;我们将以常见的ARM芯片、U-Boot作为bootloader、Linux作…

智能合约语言(eDSL)—— proc_macro实现合约init函数

我们通过属性宏来实现合约的init函数&#xff0c;call函数其实和init是类似的&#xff1b; GitHub - XuHugo/xwasm 构建属性宏&#xff0c;要在cargo.toml里面设置一些参数&#xff0c;这是必须的。一般来说&#xff0c;过程宏必须是一个库&#xff0c;或者作为工程的子库&…

向爬虫而生---Redis 探究篇8<保障缓存和持久化数据一致性的研究与实现(初) `探索篇`>

前言: 随着我们的生活越来越数字化,我们对数据的依赖变得无所不在。无论是在购物网站上浏览商品、在社交媒体上与朋友互动,还是在工作中处理大量的业务数据,数据都成了我们生活的重要组成部分。 当我们使用应用程序或网站时,我们希望能够获得快速、即时的响应。这就是缓存出…

Rust基础教程

Rust基础教程 Rust简介安装RustRust rustup第一个Rust应用Rust项目管理工具Cargo使用RustRover开发Rust应用使用VSCode开发Rust应用Cargo项目结构分析Rust关键字和标识符Rust命名规范Rust注释Rust变量Rust不可变变量Rust可变变量Rust常量Rust常量和不可变变量的区别Rust隐藏变…

基于 HBase Phoenix 构建实时数仓(3)—— Phoenix 安装

目录 一、主机规划 二、Phoenix 安装 1. 解压、配置环境 2. 将 phoenix-server-hbase-2.5-5.1.3.jar 文件复制到 HBase 的 lib 目录中 3. 重启 HBase 集群 4. 安装验证 &#xff08;1&#xff09;连接 HBase &#xff08;2&#xff09;视图映射 &#xff08;3&#xf…

thingsboard如何自定义udp-transport

0、参考netty实现udp的文章 https://github.com/narkhedesam/Netty-Simple-UDP-TCP-server-client/blob/master/netty-udp/src/com/sam/netty_udp/server/MessageDecoder.java 调试工具使用的是:卓岚TCP&UDP调试工具 1、在common\transport下面创建udp模块,仿照mqtt的创…

Linux配置.bashrc文件导致各种命令(vim、sudo)失效。

Linux配置.bashrc文件导致各种命令&#xff08;vim、sudo&#xff09;失效。 起因是 nvcc-V一直报错&#xff1a;-bash&#xff1a;nvcc&#xff1a; command not found 踩坑记录&#xff1a;上网一查说是没有配置cuda的环境变量。于是去修改了bashrc文件&#xff0c;在最下面…

一次生产环境上的dockerd启动失败原因分析

今夜原计划对 生产环境 上的 SDN 组件进行一次紧急扩容操作的&#xff0c;但业务基础环境中的 Docker-Engine 启动不起来了、原定计划也就无法继续进行了。 尽管查清了基础业务环境中的故障原因&#xff0c;但金主DD说今天先不干了&#xff0c;那就整理整理思路写篇流水账吧 。…

【漏洞复现】帮管客 CRM jiliyu SQL注入漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

ubuntu下vscode+STM32CubeMX+openocd+stlinkv2搭建STM32开发调试下载环境

1、换源 清华源 # 默认注释了源码镜像以提高 apt update 速度&#xff0c;如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restr…