issacgym+leggedgym安装

强化学习实操,首先需要安装一个好用的训练环境。强化学习的训练环境有很多,本文选择了Issac Gym进行环境配置与安装。

本文记录了笔者安装IssacGym的过程,比较曲折,遇到了很多坑,记录下来以供参考。

整体参考这篇博客:Nvidia-Isaacgym+ETH-leggedgym配置指南
Issac Gym运行在linux上,本文选用的操作系统为Ubuntu 20.04。安装Issac Gym之前需要首先安装Nvidia-driver和Cuda模块,而在安装驱动和Cuda之前先安装Anaconda。用Anaconda来管理包比较好用,为了与博客中保持一致,这里也先安装Anaconda。

Anaconda安装

参考这篇博客:Anaconda介绍、安装及使用教程 这篇博客中内容较全,Anaconda的安装和常用命令都有,按照这个里边的来就行。

需要注意的是我的ubuntu本身在安装anaconda之前就已经安装了一个python 3.8,在安装anaconda时出现这样的一个报错:

为了确保能正常使用,我按照报错修改了PYTHONPATH,使其指向anaconda3:Linux中添加PYTHONPATH配置anaconda环境变量方法

在~/.bashrc中添加了PYTHONPATH:

Nvidia-driver安装

参考博客:Ubuntu下apt工具包安装NVIDIA driver

重启后,在终端中输入nvidia-smi,但是出现了以下信息:

上网查了查,没有查到有效信息。然后在重启ubuntu时又发现电脑打印了一些奇怪的报错:

最后两行是新出现的报错,推测跟我终端输出无法发现设备有关。上网查了查发现依然没什么有效的信息。

本身用这个移动硬盘的双系统每次进入系统时都会出现一些报错,感觉本身就有一些问题。现在又出现了这个问题,我决定放弃移动硬盘双系统,直接在电脑的硬盘上安装双系统。考虑到现在的硬盘空间不太富裕,于是决定先加装一个512G的固态,然后再划出300G左右的空间给ubuntu系统,在电脑的硬盘上装一个ubuntu。购买了拆机套装、笔记本螺丝和固态,等待送达ing…

固态送达后装到了电脑上,实际有400多G,然后分出来了100G给windows,剩下300多G给ubuntu装双系统用。然后参考网上教程装了一个双系统ubuntu22.04,进入之后,按照教程安装anaconda。

再次安装驱动时,还是安装推荐的驱动,但是是通过Software&Update来下载安装的驱动:525-open,装好之后输入nvidia-smi还是显示No devices were found。去网上查了好多方法,耗了半天时间,实在没有耐心了,上淘宝找了个linux咨询,花了180块钱**(我不会忘记的)**解决了问题,nvidia-smi成功显示了。

就我观察,淘宝的那个人进行的操作就是换了个驱动安装,从525-open换成了525。感觉可能就是驱动版本的问题,可能我多换两个驱动版本就好了(哭)

CUDA安装

参考这篇博客:Linux安装CUDA

添加PATH时除了有版本号的cuda-11.8要添加之外,可以把没有版本号的cuda对应的目录也添加到PATH下。

注意给CUDA添加了PATH之后要运行sudo ldconfig

安装cuDNN时要将include下的所有文件复制到cuda下,lib下的就复制所有以libcudnn开头的就行。好多教程比较老,include下的只复制了cudnn.h。

ldconfig后可能会出现链接的错误,参考此博客即可(链接)

创建环境

用conda创建一个环境,python版本为3.8:

conda create -n your_env_name python=3.8

这个环境就是之后用来跑IsaacGym的环境。base的python版本为3.9,不适合用于IsaacGym,所以我们创建了这个新环境。

环境创建完毕后,激活环境:

conda activate your_env_name

接下来的操作都在这个python3.8的环境中进行。

配置pytorch

在创建的环境中配置pytorch

官方指引:Start Locally

根据自己的操作系统、安装方式、计算平台选择相应的安装命令

如果conda install太慢的话,可以用mamba,参考本文档的<问题解决>中的<conda install时solving environments很慢>

配置isaacgym+rsl_rl+legged_gym

配置isaacgym

Isaac Gym下载地址:Isaac Gym – Preview Release

在nvidia完成注册之后免费下载,版本>=preview3即可。

下载后解压得到isaacgym文件夹,切换到isaacgym下的python文件夹下,有一个setup.py,然后执行安装操作:

pip install -e .

配置rsl_rl

git clone rsl_rl仓库:github:rsl_rl

切换到rsl_rl文件夹下,有一个setup.py,然后安装:pip install -e .

配置leggedgym

git clone leggedgym仓库:legged_gym

切换到legged_gym文件夹下,有一个setup.py,然后安装:pip install -e .

在上述安装过程中如果显示有什么模块缺失的话(tensorboard等),直接用conda/mamba/pip install即可。

验证配置

配置好isaacgym后,切换到isaacgym/python/example下,执行python 1080_balls of solitude.py,出现以下界面即说明issacgym配置成功:

将3个都配置好之后,切换到legged_gym/legged_gym/scripts下,执行python train.py,出现以下界面即说明3个模块都配置成功:

问题解决

Encountered problems while solving: – nothing provides cuda 11.6.* needed by

conda installmamba install后加上-c pytorch -c nvidia就可以了

conda install时solving environments很慢

下载mamba,用mamba安装包。详细参考下面这个博客:

一招解决Conda安装卡在solving environment这一步!

无法发起与 ppa.launchpad.net:80 (2620:2d:4000:1::3e) 的连接 – connect (101: 网络不可达) 无法连接上 ppa.launchpad.net:80 (185.125.190.52),连接超时 [IP: 185.125.190.52 80]

运行sudo ubuntu-drivers autoinstall时出现此问题。

参考这个博客:无法连接到ppa.launchpad.net(91.189.95.83)

设置了超时之后,更换为了阿里云的源,还是不太行。又更换为了当前最好源,yun-idc。尝试用Software&Update安装驱动,虽然安装的时候还是较慢,但是尝试了几次之后成功安装了驱动:

应该是网络的问题,这个只能通过换源、换时段等方法来缓解,没有找到根本性的解决方法。

段错误(核心已转储)

参考博客:[Linux][报错记录] 段错误(核心已转储)

Segmentation Fault在学习C的时候遇到过,经常是数组越界、非法内存访问、栈溢出导致这种问题。在这里的话如果要debug问题出在哪里的话太过于耗费时间了,所以我没有进行处理。

CUDA out of memory 和 CUDA error:an illegal memory access was encountered

在网上搜了一下之后,基本上可以确定是显存不够的问题。我的游戏本的GPU是3050,显存4G。在学姐的6G笔记本上没问题。

换成了一个12G显存的台式机之后,重新配置环境,这次配置的比较顺利,顺利出现了配置成功之后的界面。

搞学习,GPU还是得过硬。

输入nvidia-smi后显示No devices were found

在排查过程中发现了gpu-manager出现异常,无法寻找gpu。

我解决这个问题是通过换显卡驱动版本。我的GPU为RTX 3050,一开始下载的驱动版本为525-open,然后出现了上述问题。但是重新安装了525版本之后,能够正常输出显卡信息。

推测就是显卡驱动版本的问题。驱动版本不对的话就可能无法找到设备。遇到这个问题了可以多换几个版本的驱动试试,不一定用recommended的版本。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年9月19日
下一篇 2023年9月19日

相关推荐