一、使用docker创建环境

1.1 创建容器

拉取合适的cuda版本镜像创建容器,这里拉取cuda12.2.2的镜像

1
docker run --gpus all --name OpenLoong -e NVIDIA_DRIVER_CAPABILITIES=all -v /etc/localtime:/etc/localtime:ro   -v /tmp/.X11-unix:/tmp/.X11-unix   -e DISPLAY=unix$DISPLAY   -e GDK_SCALE   -e GDK_DPI_SCALE --net=host --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/kemove/dockerShareFile/OpenLoong:/workspace/data -it nvidia/cuda:12.2.2-devel-ubuntu20.04 bash

1.2 在容器中安装常用的包

1
2
3
4
5
6
7
8
9
10
11
12
# 获取最新软件包
apt-get update
# 安装vim
apt-get install vim
# 安装ping命令
apt-get install iputils-ping
# 安装wget
apt-get install wget
# 安装ps
apt-get install procps
# 安装git
apt-get install git

一条命令安装

1
2
apt-get update &&
apt-get install vim iputils-ping wget procps git

1.3 安装Python3.8和常用包

1
2
3
4
apt-get install python3.8
apt-get install python3-pip
pip install numpy pandas matplotlib

1.4 安装Pytorch

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

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

一、环境配置

  • 本地环境
    • 系统:ubuntu22.04
    • CPU: Intel(R) Core(TM) 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环境的博客
      1.创建虚拟环境
1
conda create -n AzureLoong python=3.8

2.激活虚拟环境

1
conda activate AzureLoong

3.安装pytorch

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

4.克隆源码

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

5.安装Issac gym

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

6.测试示例

1
2
cd ./examples 
python joint_monkey.py

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

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

在命令行中输入以下指令

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

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

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

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

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

1
2
cd ./examples 
python joint_monkey.py


7.安装gpu_rl

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

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

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

8.安装gpuGym

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

9.安装WandB

1
pip install wandb

二、开始训练

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

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

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

1
python train.py --task=AzureLoong

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

三、训练成果

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

1
python play.py --task=AzureLoong

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