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

pick你的第一个人形机器人——青龙强化学习环境测试

文章目录

  • 一、环境配置
  • 二、开始训练
  • 三、训练成果

最近感受到的大趋势是具身智能,强化学习,模仿学习做人形机器人,这个赛道很火,颇有前些年全力投入做自动驾驶的架势,正好最近用强化学习解决POMDP问题接触到了强化学习,闲逛博客发现了上海人工智能实验室青龙开源强化学习环境。正好以此来练练手,了解了解人形机器人。

一、环境配置

  • 本地环境
    • 系统:ubuntu22.04
    • CPU: Intel® Core™ i9-14900K
    • GPU: NVIDIA GeForce RTX 4090
    • Docker version 26.0.0, build 2ae903e
    • Driver Version: 535.171.04
    • CUDA Version: 12.2

conda安装可以参考我配置pytorch环境的博客Ubuntu20.04系统配置Pytorch环境(GPU版)

1.创建虚拟环境

conda create -n AzureLoong python=3.8

2.激活虚拟环境

conda activate AzureLoong

3.安装pytorch

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117

4.克隆源码

git clone https://atomgit.com/openloong/gymloong

5.安装Issac gym

cd ./gymloong/isaacgym/python
pip install -e .

6.测试示例

cd ./examples 
python joint_monkey.py

此时有可能会报错,报错信息如下:

ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory

在命令行中输入以下指令

sudo find / -name libpython3.8.so.1.0

找到AzureLoong中的libpython3.8.so.1.0,如图所示

使用以下命令将其复制到/usr/lib目录下

sudo cp /home/kemove/miniconda3/envs/AzureLoong/lib/libpython3.8.so.1.0  /usr/lib/

重新以下执行指令,出现以下界面说明安装成功

cd ./examples 
python joint_monkey.py


7.安装gpu_rl

##注意这里使用自己的路径,我这里使用的是本地的绝对路径
cd /home/kemove/gymloong/AzureLoong/gpu_rl
pip install -e .

这里会报一个错,是setuptools版本太高了,重新安装其指定的版本,然后重新执行安装gpu_rl的指令即可

##安装指定版本
pip install setuptools==59.5.0
##重新安装gpu_rl
pip install -e .

8.安装gpuGym

##注意这里使用自己的路径,我这里使用的是本地的绝对路径
cd /home/kemove/gymloong/AzureLoong
pip install -e .

9.安装WandB

pip install wandb

二、开始训练

1.进入到训练脚本所在的路径

##注意这里使用自己的路径,我这里使用的是本地的绝对路径
cd /home/kemove/gymloong/AzureLoong/gpugym/scripts

2.执行以下指令开始训练

python train.py --task=AzureLoong

训练正常开始会弹出以下画面,按V暂停可视化,命令行中显示了每轮训练中奖励的平均数值

三、训练成果

训练结束后,输入以下指令展示训练的结果

python play.py --task=AzureLoong

训练结果如下图所示,图中的小点点是一个个小机器人,它们跑到了四面八方,目前我还不理解这结果能说明什么,等以后再研究吧
image.png
目前只是跑通了训练的demo,该框架的研究以后再补坑,先研究决策规划去了。

相关文章:

  • 数字安全二之密钥结合消息摘要
  • 利用Java easyExcel库实现高效Excel数据处理
  • 基于RealSense D435相机实现手部姿态重定向
  • 水仙花数求解-C语言
  • 另外知识与网络总结
  • 5V继电器模块详解(STM32)
  • 多IP站群服务器对SEO优化的几大好处
  • 算法打卡:第十一章 图论part08
  • 在C#中使用JSON
  • 【test】google cloud
  • Vxe UI vue vxe-table vxe-grid 单元格与表尾单元格如何格式化数据
  • 微服务--初识MQ
  • 车辆重识别(去噪扩散概率模型)论文阅读2024/9/27
  • centos7 yum 更新 nginx 到最新版本 1.26
  • 酒水速送小程序开发制作方案
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • dva中组件的懒加载
  • extjs4学习之配置
  • input的行数自动增减
  • Java应用性能调优
  • java中具有继承关系的类及其对象初始化顺序
  • PermissionScope Swift4 兼容问题
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 百度小程序遇到的问题
  • 工程优化暨babel升级小记
  • 机器学习 vs. 深度学习
  • 机器学习中为什么要做归一化normalization
  • 使用 @font-face
  • 跳前端坑前,先看看这个!!
  • 我的面试准备过程--容器(更新中)
  • 移动端 h5开发相关内容总结(三)
  • const的用法,特别是用在函数前面与后面的区别
  • 阿里云服务器购买完整流程
  • 阿里云移动端播放器高级功能介绍
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #QT(TCP网络编程-服务端)
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (10)STL算法之搜索(二) 二分查找
  • (7)STL算法之交换赋值
  • (C语言)字符分类函数
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Matlab)使用竞争神经网络实现数据聚类
  • (不用互三)AI绘画工具应该如何选择
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (九)信息融合方式简介
  • (离散数学)逻辑连接词
  • .NET 药厂业务系统 CPU爆高分析
  • .NET开发人员必知的八个网站
  • @EnableConfigurationProperties注解使用