关于isaac gym的疑难杂症

部署运行你感兴趣的模型镜像

12/02/25 @ 忘记把环境版本写到正文里了,已修复。另外添加了在运行过程中遇到的依赖问题。

关于isaac gym的疑难杂症

近期在研究rl-based humanoid control,用于motion mimic,也即是Perpetual Humanoid Control for Real-time Simulated Avatars这篇文章。虽然论文、代码已经搞明白了,流程也跑通了,谁料Ubuntu的显卡驱动丢失(推测是因为内核版本更新,跟显卡驱动所使用的内核不一致,导致其驱动无法正常运行,谁知道呢),整个系统重装、再装一次显卡驱动,连夜加急重装python环境,又又又踩坑,现在将一些遇到的坑记录下来,防止自己又忘了。

1. 配置phc依赖

conda create -n isaac python=3.8
conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
pip install -r requirement.txt

这里需要注意,requirement.txt这里面有对pytorch lightning的依赖,现在(2025年12月)装的话,其版本可能会很高,跟pytorch-cuda=11.6的项目依赖会冲突。由于本项目并没有用lightning,所以可以删去。

另外,后续isaac gym会报过时gpu架构的错,错误信息如下:

RuntimeError: nvrtc: error: invalid value for --gpu-architecture (-arch)

经过尝试,如下环境可以运行(注,我是4090):

python==3.8.20
rl-games==1.1.4
isaacgym==1.0rc4
isaacgymenvs==1.3.2
gym==0.23.1
torch==1.13.0+cu116

也就是pytorch-cuda=11.6这个版本对应的那些pytorch依赖,装好了pytorch,再按照PHC的安装流程走应该是没问题的,我把上面的几个关键版本贴上了,PHC提到的isaac gym应该会依次安装跟我上面版本一致的包。

这里顺带贴安装pytorch的命令行,方便大家使用,也防止自己忘记,切记把PHC的requirement的pytorch相关的安装命令删除

# compatible torch version!!!
pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116

特别注意

其中rl-games的版本一定要是1.1.4,不然会报如下的错误。这在后面装IsaacGymEnvs的时候,IsaacGymEnvs有可能会强制升级rl-games,在后续我会说明。

runner.model_builder.model_factory.register_builder('amp', lambda network, **kwargs: amp_models.ModelAMPContinuous(network))
AttributeError: 'Runner' object has no attribute 'model_builder'

2. 配置isaac gym

首先下载isaac gym,访问链接,具体版本为isaac-gym-preview-4,由于isaac gym已经过时,被isaac sim全面替代,所以还是要注意一下到底是gym还是sim。

然后按教程安装,访问链接,现将流程摘录如下:

# 先激活现有环境
conda activate isaac

# 解压,然后到isaac gym的目录中去
cd path-to-isaac_gym

# 找到名为python的sub folder
pip install -e .

# 检查结果
pip show isaacgym

3. 配置isaac gym envs

去仓库下载代码,访问链接,然后去到仓库目录安装。

pip install -e .

特别注意

如前所述,IsaacGymEnvs有可能会强制升级rl-games,因此需要对setup.py的内容进行修改,ref

修改IsaacGymEnvs的版本为1.3.2,修改rl-games的版本为1.1.4

4. 运行过程中的依赖报错

4.1 libstdc++.so.6找不到GLIBCXX_3.4.32

常规问题,直接将系统的libstdc++.so拷贝到isaac的环境中去就好了,ref

例如:

# link right libstdc++
cd ~/miniconda3/envs/isaac/lib
rm libstdc++.so.6 libstdc++.so
sudo ln -s libstdc++.so.6.0.33 libstdc++.so
sudo ln -s libstdc++.so.6.0.33 libstdc++.so.6

4.2 ImportError: libpython3.8.so.1.0

情况就是跑python phc/run_hydra.py xxx的时候会报这个错,将isaac的lib放到系统环境依赖中可以解决。

例如:

export LD_LIBRARY_PATH=/path_to_conda/envs/isaac/lib:$LD_LIBRARY_PATH

4.3 [Error] [carb] [Plugin: libcarb.gym.plugin.so] Could not load the dynamic library

这个错是rt的时候抛出的,栈顶错误为类似RuntimeError: Failed to acquire interface: carb::gym::Gym (pluginName: nullptr),这实际上是4.2问题的延展问题,也即是python的isaac这个包(python接口)找不到对应isaac本体(dll),把本体的路径也加到环境变量中即可。

例如:

export LD_LIBRARY_PATH=/path_to_your_root/IsaacGym_Preview_4_Package/isaacgym/python/isaacgym/_bindings/linux-x86_64:$LD_LIBRARY_PATH

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值