【解决|ubuntu】d4rl 安装 踩坑记录

安装这玩意儿真心累啊,所以写一篇帖子去介绍下如何去搭建d4rl环境。

mujoco210是最新版本的mujoco,不需要key也不需要copy license。

这里建议使用linux系统,因为win10下不好操作。

我使用的是ubuntu20.04。

本文分以下几个环节介绍:(1) 如何搭建mujoco210 (2) 如何安装dm_control(3) 如何安装d4rl

一、搭建mujoco210

在你的主目录下创建 .mujoco 然后按照如下操作:

1.1 去 https://github.com/deepmind/mujoco/releases/tag/2.1.0 把linux版本的mujoco安装到.mujoco目录下。

1.2 去 https://github.com/deepmind/mujoco/releases/tag/2.1.1 把linux版本的包下载后,注意只把lib这一文件夹放到 .mujoco 下。

上述操作全完成后,接下来需要配置环境变量,如果不知道怎么配置,可以先 pip install mujoco-py (系统会自动安装最新版,目前最新版的mujoco-py刚好同mujoco210相匹配) 然后在pycharm中运行 import mujoco_py 如果没有配置环境变量,会在pycharm的命令行中看到编译器给的提示。
比如:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/你自己的路径/.mujoco/mujoco210/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia

接下来在命令行中输入gedit ~/.bashrc 打开bashrc后,可以将上文中所提示的环境变量粘贴到其中,保存关闭后,运行 source ~/.bashrc . 注意这个时候并不会立刻生效,所以需要重启计算机。

重启计算机后,发现mujoco-py似乎可以顺利导入了。也就说明mujoco210环境变量配置好了

此外有可能会遇到一些gcc的问题,经过尝试我发现大部分情况下是只把mujoco2.1.1放置于.mujoco下会出错,因此如果不是之前没有安装gcc,一定要按照我上文所说的去做。如果我们环境是一致的,出其他错的概率会小一点。
gym安装没有什么大麻烦,pip install gym 即可
二、dm_control
直接安装d4rl可能会出错

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

出错的位置就是dm_control fiailed to build wheel
所以这个时候先去找个网站https://github.com/deepmind/dm_control
把项目拷贝下来,命令行cd dm_control进入文件夹,先pip install -r requirements.txt,然后接着输入python setup.py install 这样勉强就把dm_control安装好了,然后起码d4rl可以顺利安装了。
遇到GL/glew.h这个问题需要运行sudo apt-get install libosmesa6-dev
如果安装报错并且错误中存在 absl 这个提示,在命令行中输入pip install absl-py 然后重新安装 dm_control

三、d4rl
安装好dm_control后,再安装d4rl基本不会报错了

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

安装d4rl后可以进行以下测试

import gym
import d4rl # Import required to register environments

# Create the environment
env = gym.make('maze2d-umaze-v1')

# d4rl abides by the OpenAI gym interface
env.reset()
env.step(env.action_space.sample())

# Each task is associated with a dataset
# dataset contains observations, actions, rewards, terminals, and infos
dataset = env.get_dataset()
print(dataset['observations']) # An N x dim_observation Numpy array of observations

# Alternatively, use d4rl.qlearning_dataset which
# also adds next_observations.
dataset = d4rl.qlearning_dataset(env)

上面的代码运行没有错误,即可。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值