Windows下安装Mujoco1.50

13 篇文章 0 订阅
2 篇文章 0 订阅

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),如已安装请忽略。

安装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++源文件。

本人电脑上是这样:

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

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

.\mjpro150\bin\simulate.exe .\mjpro150\model\humanoid.xml

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

安装Python接口

新建一个python虚拟环境(看个人需求,不一定要重建),这里使用python3.7,需要说明的是,官方不对3.7以上提供支持

image-20240806180011209

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
  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值