Linux安装MuJoCo各版本及D4RL教程

news2024/11/26 4:24:19

Linux安装MuJoCo各版本及D4RL教程

文章目录

  • Linux安装MuJoCo各版本及D4RL教程
    • Linux安装MuJoco150
      • 一、下载MuJoco150
        • 1.1 文件下载
        • 1.2 文件存放位置
        • 1.3 环境变量设置
      • 二、安装mujoco-py
      • 三、验证mujoco-py安装是否成功
    • Linux安装MuJoco200
      • 一、下载MuJoco200
        • 1.1 文件下载
        • 1.2 文件存放位置
        • 1.3 环境变量设置
      • 二、安装mujoco-py
      • 三、验证mujoco-py安装是否成功
    • Linux安装MuJoco210
      • 一、下载MuJoco210
        • 1.1 文件下载
        • 1.2 文件存放位置
        • 1.3 环境变量设置
      • 二、安装mujoco-py
      • 三、验证mujoco-py安装是否成功
    • Linux安装D4RL
      • 一、D4RL库安装
      • 二、D4RL数据集加载
    • 相关网站

Linux安装MuJoco150

安装mujoco-py 1.50.x这个版本(目前官方仓库留存的1.50开头的版本仅有1.50.1.0)的python第三方库需要三个组件:MuJoco150压缩包key文件mujoco-py 1.50.x

一、下载MuJoco150

1.1 文件下载

下载mujoco-py 1.50系列需要先至官网下载压缩包及key文件。压缩包下载链接在Download页中,选择下载与操作系统匹配的压缩包(即mjpro150 linux)下载;key文件在License页中,点击Activation key下载。下载完成后,得到两个文件:mjpro150_linux.zipmjkey.txt

1.2 文件存放位置

在服务器上用户的根目录(一般为/root或者/home/xxx,其中xxx表示用户名,需按照设备实际情况调整)创建文件夹.mujoco,将两个文件上传到该文件夹中。其中,mjpro150_linux.zip还需要在该文件夹中直接解压,解压后的文件夹名称需要为mjpro150。复制一份mjkey.txt至路径/root/.mujoco/mjpro150/bin

1.1和1.2这两个步骤中关于mjpro150_linux.zip的部分可以使用如下命令完成:

mkdir -p /root/.mujoco
wget https://www.roboti.us/download/mjpro150_linux.zip -O mujoco.zip
unzip mujoco.zip -d /root/.mujoco
rm mujoco.zip # 可删可不删

使用上述命令安装mjpro150_linux.zip后仍需要下载mjkey.txt文件并将其存放到/root/.mujoco/root/.mujoco/mjpro150/bin中。

1.3 环境变量设置

Linux设置环境变量的方式如下:

首先打开.bashrc文件:

vim ~/.bashrc

在文件中添加环境变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/.mujoco/mjpro150/bin
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}

注意:

  • LD_LIBRARY_PATH的路径需要根据设备实际情况调整;

  • 如系统中存在其它版本的mujoco,为避免版本冲突,需要注释其他版本的mujoco的LD_LIBRARY_PATH

编译.bashrc文件:

source ~/.bashrc

二、安装mujoco-py

使用pip命令安装与MuJoco150对应的mujoco-py。下载mujoco-py 1.50系列不能直接使用pip install mujoco-py,这样直接下载的是目前较新版本的mujuco-py 2.1.2。

安装前需要检查mujoco-py的官方仓库存有哪些版本合适的包。那些v1.50开头的版本即是与MuJoco150对应的mujoco-py版本。目前官方仓库留存的1.50开头的版本仅有v1.50.1.0。安装mujoco-py==1.50.1.0

方法一(此方法我未尝试,理论上应该可行):

pip install mujoco_py==1.50.1.0

方法二:

先在官方仓库中拉取/下载1.50.1.0的压缩包(如果因网络原因无法直接拉取mujoco-py的github仓库可以直接去仓库中下载再存放至系统相应文件夹),将压缩包解压到和mjpro150同层级的文件夹。
在这里插入图片描述

进入解压后的文件夹,执行如下命令:

pip install -r requirements.txt
pip install -r requirements.dev.txt
python setup.py install # 或pip install .

三、验证mujoco-py安装是否成功

在终端中输入python,进入python环境,然后输入import mujoco-py。若没有报错信息则表明安装成功。

常见的报错信息及解决方案如下:

常见报错1——Cython.Compiler.Errors.CompoleError: /root/.mujoco/mujoco-py-xxx/mujoco_py/cymj.pyx
在这里插入图片描述

**解决方案:**此时退出python环境,可以先使用pip list | grep 'cython'检查Cython的版本号是否>=3.0.0,若是,需要降低其版本:

pip install 'cython<3'

执行此命令一般会将cython版本降至0.29.37。

常见报错2——version 'GLIBCXX_3.4.30' not found

**解决方案:**参考链接:解决 libstdc++.so.6: version ‘GLIBCXX_3.4.30‘ not found 问题

常见报错3——disutils.errors.CompileError: command 'gcc' failed with exit status 1

**解决方案:**此时退出python环境,输入如下命令:

apt-get install -y libgl1-mesa-dev libgl1-mesa-glx libglew-dev libosmesa6-dev software-properties-common gcc

win10系统安装参考教程:win10安装Mujoco150和mujoco-py 1.50.1.0

Linux安装MuJoco200

安装mujoco-py 2.0.x这个版本的python第三方库需要三个组件:MuJoco200压缩包key文件mujoco-py 2.0.x

一、下载MuJoco200

1.1 文件下载

下载mujoco-py 2.0.2系列需要先至官网下载压缩包及key文件。压缩包下载链接在Download页中,选择下载与操作系统匹配的压缩包(即mujoco200 linux);key文件在License页中,点击Activation key下载。下载完成后,得到两个文件:mujoco200_linux.zipmjkey.txt

1.2 文件存放位置

在服务器上用户的根目录(一般为/root或者/home/xxx,其中xxx表示用户名,需按照设备实际情况调整)创建文件夹.mujoco,将两个文件上传到该文件夹中。其中,mujoco200_linux.zip还需要在该文件夹中直接解压,解压后的文件夹名称需要为mujoco200。复制一份mjkey.txt至路径/root/.mujoco/mujoco200/bin

1.3 环境变量设置

Linux设置环境变量的方式如下:

首先打开.bashrc文件:

vim ~/.bashrc

在文件中添加环境变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/.mujoco/mujoco200/bin
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}

注意:

  • LD_LIBRARY_PATH的路径需要根据设备实际情况调整;

  • 如系统中存在其它版本的mujoco,为避免版本冲突,需要注释其他版本的mujoco的LD_LIBRARY_PATH

编译.bashrc文件:

source ~/.bashrc

二、安装mujoco-py

使用pip命令安装与MuJoco200对应的mujoco-py。下载mujoco-py 2.0.2系列不能直接使用pip install mujoco-py,这样直接下载的是目前较新版本的mujuco-py 2.1.2。

安装前需要检查mujoco-py的官方仓库存有哪些版本合适的包。那些v2.0开头的版本即是与MuJoco200对应的mujoco-py版本。下面以v2.0.2.5为例,安装mujoco-py==2.0.2.5

pip install mujoco_py==2.0.2.5

如果安装官方仓库中没有的版本会报错,如安装mujoco-py==2.0.2.13时,可能会出现如下报错提示:

Cython.Compiler.Errors.CompileError: /tmp/pip-install-pwcpafi0/mujoco-py_cb6d13fd4570419fa3307ea8cbb1b7fb/mujoco_py/cymj.pyx

此时修改Cython的版本不能解决问题。

若安装官方仓库存有的版本包,出现此报错,一般修改Cython的版本便可解决问题(可以先检查Cython的版本号是否>=3.0.0,若是,需要降低其版本):

pip install 'cython<3'

三、验证mujoco-py安装是否成功

同MuJoco150中的验证方法。

Linux安装MuJoco210

安装mujoco-py 2.1.x这个版本的python第三方库需要两个组件:MuJoco210压缩包mujoco-py 2.1.x(不再需要key文件)。

一、下载MuJoco210

1.1 文件下载

下载mujoco-py 2.1系列需要先至官方仓库下载压缩包。选择下载与操作系统匹配的压缩包(mujoco-2.1.2-linux-x86_64.tar.gz)下载。
在这里插入图片描述

1.2 文件存放位置

在服务器上用户的根目录(一般为/root或者/home/xxx,其中xxx表示用户名,需按照设备实际情况调整)创建文件夹.mujoco,将压缩上传到该文件夹并在其中直接解压,解压后的文件夹名称需要为mujoco210

1.1和1.2这两个步骤可以使用如下命令完成:

mkdir /root/.mujoco
cd /root/.mujoco wget https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz -O mujoco.tar.gz 
tar -xf mujoco.tar.gz -C /root/.mujoco
rm mujoco.tar.gz # 可删可不删
1.3 环境变量设置

Linux设置环境变量的方式如下:

首先打开.bashrc文件:

vim ~/.bashrc

在文件中添加环境变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/.mujoco/mujoco210/bin

注意:

  • LD_LIBRARY_PATH的路径需要根据设备实际情况调整;

  • 如系统中存在其它版本的mujoco,为避免版本冲突,需要注释其他版本的mujoco的LD_LIBRARY_PATH

编译.bashrc文件:

source ~/.bashrc

二、安装mujoco-py

可直接使用pip命令安装与MuJoco210对应的mujoco-py。

pip install mujoco_py

三、验证mujoco-py安装是否成功

同MuJoco150中的验证方法。

Linux安装D4RL

一、D4RL库安装

一般按照官方仓库的安装说明即可完成安装:

git clone https://github.com/Farama-Foundation/d4rl.git
cd d4rl
pip install -e .

或使用:

pip install git+https://github.com/Farama-Foundation/d4rl@master#egg=d4rl

注意:

1、如果因为网络原因无法直接拉取仓库,可以直接在官方仓库下载源码包并存放至linux系统中(对文件路径没有特殊要求),然后解压。

2、在执行pip install -e .时,可能有出现Connection time out的提示,这是因为在d4rl/setup.py文件中有需要远程拉取mjrl仓库的代码:
在这里插入图片描述

此时同样可以直接取mjrl的官方仓库下载源码包并存放至linux系统中(对文件路径没有特殊要求),解压,执行如下命令:

cd mjrl
pip install .

然后回到d4rl的根目录,注释d4rl/setup.py文件中与mjrl有关的代码,然后重新执行pip install -e .即可。

二、D4RL数据集加载

在运行别人写好的代码时,有些代码涉及远程下载D4RL数据集,程序很容易由于网络问题无法下载D4RL数据集而无法顺利运行。此时可以直接到报错信息提示的网址中自行下载数据集,将数据集上传至/root/.d4rl/datasets即可。

相关网站

MuJoco210之前(不含210版本)压缩包下载官网:https://www.roboti.us/download.html(安装MuJoco150及MuJoco200需要)

mujoco-py 2.1版本之前(不含2.1版本)的官方仓库:https://github.com/openai/mujoco-py/releases(安装MuJoco150及MuJoco200需要)

mujoco-py 2.1版本之后(含2.1版本)的官方仓库:https://github.com/google-deepmind/mujoco/releases(安装MuJoco210需要)

MuJoco官网:https://mujoco.org/(可链接至官方文档及mujoco-py 2.1版本之后(含2.1版本)的官方仓库)

D4RL的官方仓库:https://github.com/Farama-Foundation/D4RL
py 2.1版本之前(不含2.1版本)的官方仓库:https://github.com/openai/mujoco-py/releases(安装MuJoco150及MuJoco200需要)

mujoco-py 2.1版本之后(含2.1版本)的官方仓库:https://github.com/google-deepmind/mujoco/releases(安装MuJoco210需要)

MuJoco官网:https://mujoco.org/(可链接至官方文档及mujoco-py 2.1版本之后(含2.1版本)的官方仓库)

D4RL的官方仓库:https://github.com/Farama-Foundation/D4RL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【随笔】Git 高级篇 -- 快速定位分支 ^|~(二十三)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

php:实现压缩文件上传、解压、文件更名、压缩包删除功能

效果图 1.上传文件 2.压缩包文件 3.itemno1文件 4.上传到系统路径\ItemNo 更名后的itemno1文件 代码 <form action"<?php echo htmlspecialchars($_SERVER[PHP_SELF], ENT_QUOTES, UTF-8); ?>" method"post" enctype"multipart/form-dat…

Python+Selenium+Unittest 之Unittest3(TestSuite()和TextTestRunner())

目录 1&#xff1a;addTest() 2、addTests() 3&#xff1a;discover() 上一篇说了Unittest的一个基本的执行顺序&#xff0c;那如果我们想要调整用例的执行先后顺序的话&#xff0c;可以用TestSuite()和TextTestRunner()了&#xff0c;可以这么理解&#xff0c;比如一个班级…

TRON x HTX DAO 2024 香港之夜:共建香港元宇宙金融自由港

4月9日&#xff0c;由波场TRON主办&#xff0c;HTX DAO协办的“TRON x HTX DAO 2024 香港之夜”主题活动在香港盛大举行。多位参与HTX DAO生态建设的项目方代表、委员会成员、知名KOL等出席并就HTX DAO发展及加密业态进行演讲。 活动现场&#xff0c;波场TRON创始人孙宇晨通过视…

WordPress LayerSlider插件SQL注入漏洞复现(CVE-2024-2879)

0x01 产品简介 WordPress插件LayerSlider是一款可视化网页内容编辑器、图形设计软件和数字视觉效果应用程序,全球活跃安装量超过 1,000,000 次。 0x02 漏洞概述 WordPress LayerSlider插件版本7.9.11 – 7.10.0中,由于对用户提供的参数转义不充分以及缺少wpdb::prepare(),…

使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API

Vercel部署FreeGPT35有严重限制&#xff0c;玩玩就好&#xff0c;真用还是得docker。 限制原因: Vercel的流式响应并不是一开始写流&#xff0c;客户端就能立刻收到响应流&#xff0c;而是先写到一个缓冲区&#xff0c;当流关闭才一股脑的流式响应回来(不是实时流) 因此导致: …

代码随想录Day31:贪心算法Part1

贪心算法的理论基础 主要的思路就是通过想局部最优解然后看能不能推导出全局最优&#xff0c;但是贪心算法没有统一的套路&#xff0c;每一个问题的贪心思路都可以非常不一样 Leetcode 455. 分发饼干 讲解前&#xff1a; 这时第一道贪心算法的题目&#xff0c;所以很简单&am…

Open CASCADE学习|放样建模

在CAD软件中&#xff0c;Loft&#xff08;放样&#xff09;功能则是用于创建三维实体或曲面的重要工具。通过选取两个或多个横截面&#xff0c;并沿这些横截面进行放样&#xff0c;可以生成复杂的三维模型。在CAD放样功能的操作中&#xff0c;用户可以选择不同的选项来定制放样…

【新手指南】创建简单搜索引擎优化报告

搜索引擎优化&#xff08;SEO&#xff09;是一项长期投资&#xff0c;需要持续监控&#xff0c;以确保产生您所期望的结果。这就是生成搜索引擎优化报告的重要性所在–这份报告会告诉你哪些有效&#xff0c;哪些无效&#xff0c;哪些需要改进。 如果你从未创建过搜索引擎优化报…

C语言 文件函数

目录 1. 文件的打开和关闭 2. 文件的顺序读写 2.1 顺序读写函数介绍 2.2读文件&#xff08;读文件只能读一次&#xff09; 2.3写文件 3. 文件的随机读写 3.1 fseek 3.2 ftell 3.3 rewind 4.文件读取结束的判定 4.1 被错误使误的 feof 我对读写的理解&#xff1a;(从…

SpringBoot 集成H2数据库,启动执行sql, 中文乱码

目录 H2数据库介绍 SpringBoot版本&#xff1a;SpringBoot 2.1.12.RELEASE 快速集成H2&#xff0c;maven依赖 快速集成H2&#xff0c;数据源及关键参数配置 spring.datasource.schema参数&#xff08;建表SQL脚本&#xff09; spring.datasource.data参数&#xff08;更新、…

【鹤城杯 2021】 CRYPTO刷题

easy_crypto 附件easy_crypto.txt&#xff0c;内容是社会核心主义观 公正公正公正诚信文明公正民主公正法治法治诚信民主自由敬业公正友善公正平等平等法治民主平等平等和谐敬业自由诚信平等和谐平等公正法治法治平等平等爱国和谐公正平等敬业公正敬业自由敬业平等自由法治和…

联想电脑VMware虚拟机VT开启虚拟化

以联想电脑为例。 关机重启&#xff0c; 有的电脑是按F2&#xff0c; 有的是按fnF2 进入BIOS&#xff0c;左右键&#xff0c;选择Configuration&#xff0c; 再上下键选择 Intel Virtual Technology 按回车键&#xff0c;再按上下键选择 Enable &#xff0c;回车确认。 按fn…

【VScode】同时编辑多处

【VScode】同时编辑多处 1. 多光标自定义批量编辑2. 选择多个&#xff0c;同时操作(批量选中局部匹配项)3. 取消选择4. 在不移动光标的情况下滚动屏幕5. 批量选中全局匹配项6.重点6.1 通过上下键选择多行6.2 同时选中所有行的末尾6.3 选中多列另一种方式6.4 通过正则的方式配置…

dockerhub右键快速搜索脚本

Chrome 浏览器扩展的后台脚本&#xff0c;用于创建右键菜单项&#xff0c;并根据用户的操作在新的标签页中打开 Docker Hub 网站或者进行搜索。 // 创建右键菜单项&#xff0c;用于打开 Docker Hub 网站 chrome.contextMenus.create({id: search-home, // 菜单项的唯一标识符t…

移除元素Java实现

题意 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 额外空间 并 原地 修改数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元…

Netty实现udp服务器

1、TCP与UDP通信协议 网络传输层协议有两种&#xff0c;一种是TCP&#xff0c;另外一种是UDP。 TCP是一种面向连接的协议&#xff0c;提供可靠的数据传输。TCP通过三次握手建立连接&#xff0c;并通过确认和重传机制&#xff0c;保证数据的完整性和可靠性。TCP适用于对数据准…

红豆Cat 1开源|项目二: 从0-1设计一款MQTT版本DTU(支持GNSS)产品的软硬件全过程

MQTT版DTU&#xff08;GNSS&#xff09;项目概述 DTU 通常指的是数据传输单元&#xff0c;它是一种用于将现场设备的数据通过无线或有线方式传输到远程控制中心的设备。DTU 可以实现设备与控制中心之间的数据通信&#xff0c;以便实时监测和控制设备的运行状态。 产品定义描述…

SpringBoot内容协商快速入门Demo

1.什么内容协商 简单说就是服务提供方根据客户端所支持的格式来返回对应的报文&#xff0c;在 Spring 中&#xff0c;REST API 基本上都是以 json 格式进行返回&#xff0c;而如果需要一个接口即支持 json&#xff0c;又支持其他格式&#xff0c;开发和维护多套代码显然是不合理…