zoukankan      html  css  js  c++  java
  • 强化学习环境OpenAi搭建,从虚拟机到Gym、Mujoco和mujoco-py的完整安装

    平时不怎么写博客,这次是因为环境的配置花费了我大概一个星期的时间。所以简单的记录一下搭建的整个过程,其中有些部分我直接推荐别人的博客的基本教程,都是我亲自尝试过成功的。同时,也希望这篇博客可以帮到您。

    (一)VMware Wokestation Pro15安装CENTOS7和Ubuntu版本Linux系统

    (1)Ubuntu16.04LTS的安装(强烈推荐)

    • 这里我使用的是Ubuntu16.4版本,基本步骤按照这个教程来就可以https://blog.csdn.net/wang_624/article/details/90347274
    • 最主要的是磁盘的划分,这个我也不太懂,我只是知道划分要有(1)/(2)/root(3)/swap(4)/home。我遵循的原则就是/root大概500M,/swap和内存一般大小,/目录下给5G左右,最后全部分给/home 目录下面。
    • 关于Vmware Tools 的安装,如果你在terminal遇到了安装失败,让你安装open-vm-tools的情况。那就直接安装open-vm-tools-desktop。简答一点,按下面command执行就可以了。
      sudo apt-get autoremove open-vm-tools
      sudo apt-get install open-vm-tools-desktop
      

      安装完后可以实现宿主系统和虚拟机的系统直接文件和文字的粘贴和复制,但是不能与宿主系统进行文件的共享。

    (2)CentOs7的安装

    • 关于CentOs7的安装,这也是我第一次安装的系统,但是后面安装Gym和Mujoco的时候,遇到了很多问题,所以后面就弃用了。具体的安装过程可以参考这篇博客,写的很详细,同时也非常感谢这位博主。https://blog.csdn.net/MRYZJ/article/details/100935851

    (二)OpenAi环境的搭建

    (1)Mujoco的安装

    • 首先,遇到下载速度慢或者找不到Package、Mirror的问题,可以先把国外源换成国内源。国内源有阿里、清华、网易等,牵扯的下载源的问题,要更改DNS服务器,一般国内的服务器是8.8.8.8或者8.8.4.4,。记得在更换为国内源后要更新本地库。具体做法可以参考这篇博客:https://blog.csdn.net/baidu_36602427/article/details/86551862
    sudo apt-get upgrade
    • 接下来的安装,你可以参考这篇博客:https://www.jianshu.com/p/c246713e89a4,基本上的原则就是缺啥补啥。我就说我遇到的一些奇葩问题,如果你出现.rmp文件找不到的情况,就是try了很多次也没有找到这个mirror。你可以直接从源端直接抓下来这个资源,然后直接进行安装。
    wget name(什么什么.rmp)
    sudo apt install name
    • 还有在安装Mujoco的时候,我是直接从官网上下载下来的压缩包,因为安装了Vm-tools-desktop可以直接将文件拖到我的虚拟机的文件夹中。但是我在terminal端解压的时候,却报错了,"unvalid rmp package"。这个问题纠结了我好久,网上大多数说文件太大的原因,但是我的文件只有几M大小,没道理呀。直到我看到文件的property才发现,虚拟机的文件的size比我windows里的文件小了一些,我怀疑是上传不完整的原因。所以,我这次不是直接把文件拖拽过去,而是用复制粘贴的方式将文件复制过去。果然问题就解决了。

    (2)Mujoco-py的安装

    • 这个的安装比较简单了,还是那个原则缺什么就补什么。缺GL.H文件,就去安装OpenCV,缺少Package就去安装Package。
    • pip install -U 'mujoco-py<1.50.G一,2,>=1.50.1'

      安装完成之后,自己去创建一个python文件去执行就好了。

    (3)Gym的安装

    • 前面的两步安装没问题后,这一步也是水到渠成的事。但是不要忘了添加相应的环境变量,直接VI指令修改.bashrc文件里,在最后一行添加上路径就可以。不添加的话,你是Make不出来相应的Env的。该下载依赖就下载相应的依赖,该安装什么安装什么。
    pip install -e '.[all]'

      整个的搭建过程还是比较繁琐的,在此再次感谢那些博客的文章,都或多或少的帮助了一些。也希望自己在今后的强化学习道路上能够越走越远。

  • 相关阅读:
    项目管理和项目群管理的区别
    项目群管理
    PRINCE2如何完善PMBOK和您的PMP资格证书?
    为什么需要prince2项目管理方法论?
    PMP和PRINCE2到底有什么区别?哪个含金量更高?
    同步和异步
    Promise理解
    async和await实现异步的同步等待
    Mysql数据库操作基础步骤
    PHP和javascript区别
  • 原文地址:https://www.cnblogs.com/xsy123/p/12023558.html
Copyright © 2011-2022 走看看