Windows下安装Mujoco1.50

news2024/11/25 9:01:52

Windows下安装Mujoco1.50复现强化学习论文

很多经典强化学习算法(DDPG、PPO)使用Mujoco环境进行实验和评估,配置复现环境非常困难,有以下几点原因:

  • 年代久远,Mujoco-py的依赖管理做的不好,仅限定所需依赖库最低版本,最高版本未限制,由于其不再维护,导致安装时依赖库常常出现版本过高的问题。
  • Mujoco被DeepMind收购,最新版本(3.x)与复现论文所需版本(1.x)互不兼容,用法有差别。
  • 基于C/C++的项目,借助cython向python提供接口,涉及到C/C++编译器。
  • Windows系统下,难度进一步加大。。。

最近看了很多在Windows上安装Mujoco1.50的教程,大多数过于繁杂,下面根据官方文档,写一个相对简化的安装方法,主要是

  • 不需要定义环境变量
  • 不需要添加目录到路径

其实官方文档很简单,总共就三句话,并没有说1.50版本要设置环境变量啥的,不知道其他博主在哪看的。

image-20240716235241476

一个前提

在Windows上,Mujoco-py需要Cython调用MSVC编译器才能将C/C++代码转换为Python可调用的模块,而MSVC跟Visual Studio捆绑在一起,所以需要安装Visual Studio,本人安装的是VS2022,勾选如下两个组件(MSVC和Windows SDK),如已安装请忽略。

image-20240716235939057

安装C/C++版本的Mujoco1.50

由于Mujoco在2022年已经开源,所以直接使用官网提供的免费许可证即可。

下载页

许可证页)

image-20240717000618390

image-20240717000803508

下载这两个文件后,一定要放置在$env:USERPROFILE/.mujoco,文件夹不存在则自行创建(powershell):

cd $env:USERPROFILE
mkdir .mujoco

并且文件不能随意命名,只能是mjpro150和mjkey.txt,否则后面cython编译时会找不到对应的C/C++源文件。

本人电脑上是这样:

image-20240717001857234

注意mjpro150解压后不要嵌套目录,mjpro150一定是bin/include这些子文件夹:

image-20240717002022358

到此,C/C++版本的Mujoco1.50安装完成。可以在$env:USERPROFILE下执行以下命令查看示例,(一定得是这个目录下)

.\mjpro150\bin\simulate.exe .\mjpro150\model\humanoid.xml
image-20240717002422580

没有问题,可以正常渲染出一个仿真机器人。

安装Python接口

新建一个python虚拟环境(看个人需求,不一定要重建),这里使用python3.7,其余Python版本未测试

pip install cython==0.29.21
pip install git+https://github.com/openai/mujoco-py.git@1.50.1.0

实测此cython版本可行,其余版本未测试。

这里直接从github链接安装mujoco-py,较为简便;也可以下载下来,使用pip install -e xxx进行本地安装。

测试:

import os

import mujoco_py

mj_path, _ = mujoco_py.utils.discover_mujoco()
xml_path = os.path.join(mj_path, "model", "humanoid.xml")
model = mujoco_py.load_model_from_path(xml_path)
sim = mujoco_py.MjSim(model)
print(sim.data.qpos)
sim.step()
print(sim.data.qpos)

输出:

[0.  0.  1.4 1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
 0.  0.  0.  0.  0.  0.  0.  0.  0.  0. ]
[-1.27161562e-06  8.11077220e-22  1.39996033e+00  1.00000000e+00
 -3.03194099e-22  5.72581843e-06  4.82416781e-21  4.24327899e-21
  7.56543337e-06 -2.67335148e-21 -5.48340066e-07  1.11131854e-05
 -1.31327715e-04 -3.02014428e-04 -3.07930146e-04  1.38935774e-05
 -5.48340066e-07  1.11131854e-05 -1.31327715e-04 -3.02014428e-04
 -3.07930146e-04 -1.38935774e-05 -8.12365751e-06  9.97029984e-06
 -2.12264641e-06  8.12365751e-06 -9.97029984e-06 -2.12264641e-06]

成功!

依赖文件

以防万一,这里给出本人将上述步骤进行完毕后的requirements.txt,遇到版本问题可以参考:

cython==0.29.21
glfw==2.7.0
imageio==2.31.2
mujoco-py @ git+https://github.com/openai/mujoco-py.git@498b451a03fb61e5bdfcb6956d8d7c881b1098b5
numpy==1.21.6
pillow==9.5.0
pip==22.3.1
setuptools==65.6.3
wheel==0.38.4
wincertstore==0.2

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

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

相关文章

Apache trino的ldap认证开启

作者:櫰木 1、背景 由于trino 默认没有开启用户认证体系,需要ldap用户进行认证。开启tls和ldap用户认证,提高安全性。 2、配置 前置条件。 trino 集群已经部署完成 ldap 服务 openjdk 版本大于11.0.17 生成证书 keytool -genkeypair…

实现异步天气数据获取与Spring缓存集成

你好呀,我是小邹。 在Web应用中,实时天气数据的获取是一个常见的需求,特别是在需要频繁更新天气信息的场景下,如旅游网站、天气应用或任何需要展示地理位置相关天气的应用。然而,频繁的外部API调用不仅会增加服务器的…

Hive理论讲解

Hive介绍 1、Hive本质 Hive本质是【数仓设计方案】,hive本身并不存储数据【数据包含:元数据 (表)数据】。 2、hql和sql对比 sql 结构化查询语言【structured query language】hql hive/hadoop类sql查询语言【hive/hadoop query language like sql…

工业三防平板可优化工厂流程管理

在当今高度自动化和数字化的工业生产环境中,工业三防平板正逐渐成为优化工厂流程管理的关键工具。其强大的功能和卓越的性能,为工厂带来了更高的效率、更低的成本以及更出色的质量控制。 工业三防平板,顾名思义,具备防水、防尘、防…

(01)Unity使用在线AI大模型(使用百度千帆服务)

目录 一、概要 二、环境说明 三、申请百度千帆Key 四、使用千帆大模型 四、给大模型套壳 一、概要 在Unity中使用在线大模型分为两篇发布,此篇文档为在Python中使用千帆大模型,整体实现逻辑是:在Python中接入大模型—>发布为可传参的…

eclipse 新建类class文件增加copyright版权信息

1、Window -> Preferences 2、输入code,找到code templates Java > Code Style > Code Templates 比如进行如何的设置: 3、新增类文件,会自动增加版权:

[Vulnhub] digitalworld.local-JOY snmp+ProFTPD权限提升

信息收集 IP AddressOpening Ports192.168.101.150TCP:21,22,25,80,110,139,143,445,465,587,993,995 $ nmap -p- 192.168.101.150 --21,22,25,min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 21/tcp open ftp ProFTPD | ftp-anon: Anonymous FTP logi…

昇思25天学习打卡营第11天|NLP-LSTM-CRF序列标注

打卡 目录 打卡 序列标注 条件随机场(Conditional Random Field, CRF) SCORE计算 SCORE 计算的代码 Normalizer计算 Normalizer 计算的代码实现 Viterbi算法 CRF层组装 BiLSTMCRF模型 模型实例化 模型训练 模型预测 新造一个句子重新预测看效果 序列标注 序列标…

安装adb和常用命令

下载ADB安装包 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 解压安装包 解压如上下载的安装包,然后复制adb.exe所在的文件地址 配置环境变量 我的电脑——>右键属性——>高级系统设置——>环境变量——>系统变量—…

solidity基础语法(以太坊solidity合约)

solidity基础语法(以太坊solidity合约) 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain…

R语言包AMORE安装报错问题以及RStudio与Rtools环境配置

在使用R语言进行AMORE安装时会遇到报错,这时候需要采用解决办法: AMORE包安装,需要离线官网下载安装包: Index of /src/contrib/Archive/AMORE (r-project.org)https://cran.r-project.org/src/contrib/Archive/AMORE/ 一、出现…

MySQL第九次作业

1、安装redis,启动客户端、验证。 首先选择版本 进去之后是这样,一个是压缩包,一个是安装包 点击下载好的安装包,开始安装 选择“添加Redis目录到环境变量PATH中”,这样方便系统自动识别Redis执行文件在哪里。 其他一…

新版本 idea 创建不了 spring boot 2 【没有jkd8选项】

创建新项目 将地址换成如下 https://start.aliyun.com/

厂家置换电费如何达到最大化收益

新能源行业知识体系-------主目录-----持续更新https://blog.csdn.net/grd_java/article/details/140004020 文章目录 一、电能电费二、同时刻不同厂家置换,不会影响最终电能电费结果三、风险防范补偿和回收机制四、我们的数据如何考虑补偿和回收五、如何利用补偿和…

元宇宙深入解析

元宇宙(Metaverse)是一个新兴的概念,它激发了技术专家、艺术家和商业领袖的无限想象。它代表着数字互动的新前沿,提供了一个平行的数字宇宙,用户可以在其中实时互动,超越物理世界的限制。 元宇宙是什么&am…

计算机毕业设计django+hadoop+scrapy租房可视化 租房推荐系统 租房大屏可视化 租房爬虫 spark 58同城租房爬虫 房源推荐系统

python scrapy bootstrap jquery css javascript html 租房信息数据展示 租房地址数量分布 租房类型统计 租房价格统计分析 租房面积分析 房屋朝向分析 房屋户型平均价格统计分析 房屋楼层统计分析 房屋楼层与价格统计分析 房屋地址与价格统计分析 房屋相关信息词云展示 租房…

计算机网络——网络层(路由选择协议、路由器工作原理、IP多播、虚拟专用网和网络地址转换)

目录 路由选择协议 因特网的路由选择协议特点 路由信息协议RIP RIP衡量目的网络距离 RIP选择路由器的方式 RIP具有以下三个重要特点 RIP的基本工作流程 RIP的距离向量算法 ​编辑 ​编辑 RIP存在的问题——“坏消息传播得慢” RIP的封装 开放最短路径优先协议OSPF…

关于window配置gitlab和gitee平台共存

今天使用gitlab拉取代码突然提示 gitgitlab.xxx.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 以为是ssh公钥没有配置好,遂又进行了一番配置,实际上并不是这个问题造成的,但还是想记录一下步骤,以…

【内网穿透】打洞笔记

文章目录 前言原理阐述公网sshfrp转发服务 实现前提第一步:第二步第三步第四步 补充第五步(希望隧道一直开着)sftp传数据(嫌云服务器上的网太慢) 前言 租了一个云服务器,想用vscode的ssh远程连接&#xff…

迅为3A5000_7A2000ATX标准DIY国产龙芯电脑

性能强 采用全国产龙芯3A5000处理器,基于龙芯自主指令系统 (LoongArch)的LA464微结构,并进一步提升频率,降低功耗,优化性能。 桥片 采用龙芯 7A2000,支持PCIE 3.0、USB 3.0和 SATA 3.0.显示接口2 路、HDMI 和1路 VGA&a…