Ubuntu 18.04 安装 mujoco, mujoco_py 和 gym

​Ubuntu 18.04 安装 mujoco, mujoco_py 和 gym

一、安装mujoco

  1. 下载 license :License (现在 license 开源可直接下载Activation key )
  2. 官网下载 mujoco200 linux:Download(mujoco200 linux)
  3. 在home下建立.mujoco文件夹: mkdir ~/.mujoco (Ctrl+H显示隐藏文件)
  4. 解压mujoco200 linux至home/.mujoco下,并改名为 mujoco200
  5. 将license文件复制分别复制到 ~/.mujoco 和 ~/.mujoco/mujoco200/bin文件夹下
    cp mjkey.txt ~/.mujoco
    cp mjkey.txt ~/.mujoco/mujoco200/bin
    
  6. 程序验证:测试结果是一个界面,里边有一个木偶小人
     cd ~/.mujoco/mujoco200_linux/bin 
     ./simulate ../model/humanoid.xml
    

Ubuntu 18.04 安装 mujoco, mujoco_py 和 gym_第1张图片
7. 可添加环境变量:

sudo gedit ~/.bashrc
// 将以下命令复制到bashrc的最后一行
export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}

二、安装mujoco-py

本文采用 conda 的方式进行安装。

  1. 下载源码:https://github.com/openai/mujoco-py
    注意:git clone https://github.com/openai/ mujoco-py.git 这个命令会默认安装网址中最新版本,如下图所示
    Ubuntu 18.04 安装 mujoco, mujoco_py 和 gym_第2张图片
    这个版本是跟 mujoco2.1 版本(mujoco210)是匹配的。所以要到 releases 找到早期版本下载,本文选取 v2.0.2.5 。

  2. 解压,并剪切到/home/(自己计算机名字)的文件夹里,改名为 mujoco-py

  3. 安装 patchelf (如果权限不够,加 sudo )

    curl -o /usr/local/bin/patchelf https://s3-us-west-2.amazonaws.com/openai-sci-artifacts/manual-builds/patchelf_0.9_amd64.elf 
    sudo chmod +x /usr/local/bin/patchelf
    
  4. 用 conda 创建一个虚拟环境,并安装依赖

    $ conda create --name gymlab python=3.7 
    $ conda activate gymlab
    (gymlab) $ cd ~/mujoco-py
    (gymlab) $ cp requirements.txt requirements.dev.txt ./mujoco_py
    (gymlab) $ cd mujoco_py
    (gymlab) $ pip install -r requirements.txt
    (gymlab) $ pip install -r requirements.dev.txt
    
  5. 安装

    (gymlab) $ cd ~/mujoco-py/vendor 
    (gymlab) $ ./Xdummy-entrypoint 
    (gymlab) $ cd .. 
    (gymlab) $ python setup.py install
    
  6. 测试

    (gymlab) $ python
    >>> import mujoco_py
    # 第一次导入会加载一些东西,再导入一次就正常了
    >>> import mujoco_py
    
  7. 如最后加载 mujoco_py 报错,解决方案如下:
    第一步:安装libosmesa6-dev

    sudo apt install libosmesa6-dev
    

    安装好libosmesa6-dev,如若运行测试缺少如下包,便执行第二步

    第二步:安装patchelf(两个命令选一个就行)

    pip install patchelf
    sudo apt-get -y install patchelf
    

三、安装Gym

  1. 下载源码:git clone https://github.com/openai/gym.git

  2. 安装

    $ conda activate gymlab 
    (gymlab) $ cd ~/gym 
    (gymlab) $ pip install -e '.[all]'
    
  3. 添加环境变量(~/.bashrc)

    gedit ~/.bashrc
    # 在末尾添加
    export PYTHONPATH=path/to/gym:$PYTHONPATH
    
  4. 测试
    进入 gymlab 环境后运行 python 如下代码,会显示程序运行效果。

    # 测试代码 1
    import gym
    env = gym.make('CartPole-v1', render_mode = "human")
    for episode in range(10):
      env.reset()
      print("Episode finished after {} timesteps".format(episode))
      for _ in range(100):
        env.render()
        env.step(env.action_space.sample())
    env.close()
    
    # 测试代码 2
    import gym
    env = gym.make('MountainCar-v0', render_mode = 'human')
    for i_episode in range(10):
        observation = env.reset()
        for t in range(100):
            env.render()
            print(observation)
            action = env.action_space.sample()
            observation, reward, done, info, _ = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break
    env.close()
    

本文参考文档均以超链接形式在文中给出。
以上内容根据自己理解和实践所写,如有错误,请批评指正。

参考:

  1. Ubuntu16.04 搭建mujoco环境+强化学习gym
  2. Ubuntu 16.04 安装 mujoco, mujoco_py 和 gym
  3. gym包升级后炼丹炉的测试代码

你可能感兴趣的:(ubuntu,linux)