issacgym+leggedgym安装

  • Post author:
  • Post category:其他


强化学习实操,首先需要安装一个好用的训练环境。强化学习的训练环境有很多,本文选择了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 install



mamba 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的版本。



版权声明:本文为svfsvadfv原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。