Ubuntu上安装d4rl数据集

Ubuntu上安装d4rl数据集

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

一、安装Mujoco

1.1 官网下载mujoco210文件

如果装过可以跳过这步

链接:https://github.com/deepmind/mujoco/releases/tag/2.1.0

下载第一个文件即可。我这里是在windows系统上下载了,然后上传到linux系统服务器上的。

1.2 解压该文件

查看自己的用户目录下是否有 .mujoco 文件夹

bash 复制代码
ls -a

如果没有的话,可以新建一个

bash 复制代码
mkdir ~/.mujoco

将下载好的压缩文件放在这个目录下,然后进行解压

bash 复制代码
tar -zxvf mujoco210-linux-x86_64.tar.gz -C ~/.mujoco

解压完后应该有一大堆的 .h .cc 文件在命令行里。

1.3 配置环境

bash 复制代码
vim ~/.bashrc

在文件末尾加上一行

bash 复制代码
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user_name/.mujoco/mujoco210/bin

保存退出并运行

bash 复制代码
source ~/.bashrc

1.4测试是否安装完成

bash 复制代码
cd ~/.mujoco/mujoco210/bin
./simulate ../model/humanoid.xml

出现 Mujoco Pro Version 就算成功

二、下载 D4RL 项目

可以运行命令行

bash 复制代码
git clone https://github.com/Farama-Foundation/d4rl.git

也可以直接手动下载到 Linux 上或者手动下载到 Windows 上然后上传到 Linux 服务器上。

三、安装依赖库

3.1 新建虚拟环境

运行以下命令新建一个虚拟环境

bash 复制代码
python -m venv /path/to/your/venv

/path/to/your/venv 是你的虚拟环境路径

然后运行

bash 复制代码
source /path/to/your/venv/bin/activate

命令行前面出现 (your_venv_name) 就算成功

3.2 提前安装部分库

bash 复制代码
pip install mujoco-py
pip install absl-py
pip install matplotlib
pip install dm_control

提前安装这四个库

3.3 注释部分库

到你路径下的 D4RL 项目去修改 setup.py

bash 复制代码
cd your/directory/to/D4RL
vim setup.py

注释掉如下几行,因为已经提前安装好这些库。mjrl 我们最后再装!mjrl 我们最后再装!mjrl 我们最后再装!

在 D4RL 目录下,运行

bash 复制代码
pip install -e .

3.4 安装 mjrl

运行

bash 复制代码
pip install git+https://github.com/aravindr93/mjrl@master#egg=mjrl

到这里所有环境基本已经安装完成。可以用

bash 复制代码
pip list

查看这些库是否都已经装上。

四、查漏补缺

在 D4RL 目录下新建一个 example.py 文件,复制官方github的测试内容

python 复制代码
import gym
import d4rl # Import required to register environments, you may need to also import the submodule

# 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)

尝试运行上述文件

bash 复制代码
python example.py

出现报错:

4.1 获取 key

点击下面的 Activation key 会得到一个 mjkey.txt 文件

将mjkey.txt文件复制到 .mujoco/mujoco200/bin和./mujoco文件夹下

4.2 没有配置好路径

bash 复制代码
Exception: 
Missing path to your environment variable. 
Current values LD_LIBRARY_PATH=:/home/user_name/.mujoco/mujoco210/bin
Please add following line to .bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia

博主到这里才发现原来还要配置一个地方

回到 1.3 的 ~/.bashrc,加多一行

bash 复制代码
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user_name/.mujoco/mujoco210/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia

然后重新

bash 复制代码
source ~/.bashrc

然后重新进入虚拟环境

bash 复制代码
source /path/to/your/venv/bin/activate

4.3 编译问题

再次运行文件遇到报错

bash 复制代码
Cython.Compiler.Errors.CompileError: /home/user_name/pyvenv/rl/lib/python3.8/site-packages/mujoco_py/cymj.pyx

这个需要更换版本

bash 复制代码
pip uninstall cython
pip install cython==0.29.21

4.4 软件问题

bash 复制代码
FileNotFoundError: [Errno 2] No such file or directory: 'patchelf'

运行以下命令解决

bash 复制代码
sudo apt-get -y install patchelf

安装完之后就可以成功运行测试代码了

相关推荐
且从容.29 分钟前
ubuntu安装flink
linux·ubuntu·flink
草履虫AI课37 分钟前
强化学习从零到一 03|算法地图:基于模型 vs 不基于模型
强化学习
爱和冰阔落2 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨2 小时前
WSL2的安装与使用
linux·wsl
微小的鱼2 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng3 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮3 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
星马梦缘10 小时前
openarm 双臂协作模仿学习 · 入门路线
机械臂·强化学习·模仿学习·openarm·双臂协作·冗余臂
Linux-lucky15 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默15 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu