相关资料:

DeepMind Lab的一些python例子—————(Ubuntu22.04系统安装DeepMind Lab)后续

===================================================

2022年10月7日更新

虽然使用自编译的python环境可以成功安装并运行deepmind lab,但是后期要安装TensorFlow-Gpu等组件,却异常的困难,为彻底解决anaconda下不能安装并运行deepmind lab的问题,给出具体方法:

Ubuntu系统anaconda报错version `GLIBCXX_3.4.30' not found

通过上面的对stdc++库的修正成功在anaconda环境下安装并运行deepmind lab,因此实现了在anaconda创建的python环境下成功安装deepmind_lab和TensorFlow-gpu等组件。

===================================================

2022年10月6日更新

根据尝试,发现只要把系统的依赖软件安装好,即使是使用anaconda创建的python环境依然可以成功编译DeepMind Lab,并且安装python扩展库,而且anaconda创建的python环境从3.7版本到3.10版本均可以成功编译DeepMind Lab并安装python扩展库。

不过使用anaconda创建的python安装好Deepmind Lab扩展库后运行,报错:

这么看来,安装DeepMind Lab的python环境还是需要从python源码重新编译python(如下面的介绍的步骤),不过可以编译python3.10版本的。

 

测试代码:

import deepmind_lab
import numpy as np # Create a new environment object.
lab = deepmind_lab.Lab("demos/extra_entities", ['RGB_INTERLEAVED'],
{'fps': '30', 'width': '80', 'height': '60'})
lab.reset(seed=1) # Execute 100 walk-forward steps and sum the returned rewards from each step.
print(sum([lab.step(np.array([0,0,0,1,0,0,0], dtype=np.intc)) for i in range(0, 100)]))

========================================

说明:

DeepMind Lab的推出时间为2016年,而且已经多年没有维护更新了,但是使用这个仿真环境的Reinforcement Learning的研究还在继续,这就导致很多researcher需要继续使用,但是又没有很好的办法来安装这个仿真环境,毕竟谁也不太想为了安装这个仿真环境而去把自己的Ubuntu22.04系统换成Ubuntu14.04或者Ubuntu16.04系统,因此如何在Ubuntu22.04系统上安装DeepMind Lab这个仿真环境成了一个难题。本文就是接受如何在Ubuntu22.04系统上成功安装DeepMind Lab仿真环境。

================================================

1. CMAKE的安装:

https://www.cnblogs.com/devilmaycry812839668/p/14943981.html

2. bazel的安装:

https://www.cnblogs.com/devilmaycry812839668/p/16282270.html

安装好bazel后需要对.bazelrc文件进行配置,具体见:

bazel编译报错:absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported."

3. python3.7的源码安装:

https://www.cnblogs.com/devilmaycry812839668/p/16281134.html

需要注意的是与上面教程中不同,我们需要checkout的版本为3.7。(因为DeepMind Lab只支持python3.5,python3.6,python3.7,考虑尽可能高的python版本,因此选择python3.7)

具体的版本检出命令为:

git checkout 3.7

  

至于为什么不使用anaconda创建python环境呢,参见:

为python编译C++模块时一定要注意的事情—————不要在anaconda环境下使用cmake来编译C++扩展模块!!!

4. 安装python的依赖库

pip install numpy

pip install wheel

5. 安装系统环境依赖

sudo apt-get install libffi-dev gettext freeglut3-dev libsdl2-dev zip libosmesa6-dev

============================================

6. DeepMind Lab源码编译

下载源码:

git clone https://github.com/deepmind/lab

编译并运行例子:

cd lab

bazel run :python_random_agent --define graphics=sdl --  --length=10000 --width=640 --height=480

可以成功运行,证明依赖环境安装成功。

其他运行例子见:https://github.com/deepmind/lab

=================================================

7.  DeepMind Lab的python的扩展库的编译和安装

(python扩展库的安装参考:https://github.com/deepmind/lab/blob/master/python/pip_package/README.md

目标是最终在python中可以成功调用:

import deepmind_lab

需要注意,在之前配置python3.7环境时需要将pip默认路径设置为编译好的  python3.7/bin/pip3  。

安装依赖的python模块:

pip install dm-env

为python3版本编译可安装的wheel文件,具体操作:

编译:

bazel build -c opt --python_version=PY3 //python/pip_package:build_pip_package

打包编译好的文件为wheel格式:

./bazel-bin/python/pip_package/build_pip_package /tmp/dmlab_pkg

查看wheel文件是否成功导出:

安装编译好的wheel文件:

pip install /tmp/dmlab_pkg/deepmind_lab-1.0-py3-none-any.whl

查看deepmind_lab模块是否安装成功:

=============================================

Ubuntu22.04系统安装DeepMind Lab的更多相关文章

  1. 64位ubuntu16.04系统安装网易云音乐

    64位ubuntu16.04系统安装网易云音乐 1.官网下载安装包:netease-cloud-music_1.1.0_amd64_ubuntu.deb https://music.163.com/# ...

  2. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) (转载)

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...

  3. Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    http://lib.csdn.net/article/aimachinelearning/68113 原文地址:http://blog.csdn.net/jinzhuojun/article/det ...

  4. Ubuntu22.04 安装配置流水账

    前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考. 制作启动U盘 在Ubuntu网站 ...

  5. Ubuntu22.04 安装配置VNC Server

    如果转载, 请注明出处 https://www.cnblogs.com/milton/p/16730512.html Ubuntu22.40下VNC和远程桌面的区别 使用远程桌面时, 用户必须在hos ...

  6. 带有pwn环境的Ubuntu22.04快速安装

    pwn环境ubuntu22.04快速安装(有克隆vmk) ubuntu更新到了22.04版本,经过本人测试后非常的好(ma)用(fan),该版本和mac很相像,而且用起来也比较丝滑,只不过配置上稍微有 ...

  7. ubuntu22.04安装 kubernetes(docker)

    初始化检查 操作系统:ubuntu22.04 LTS docker:20.10.18 kubelet: v1.23.6 kubeadm:v1.23.6 kubectl: v1.23.6 1.校准时间: ...

  8. Ubuntu22.04 KubeSphere 安装K8S集群

    Ubuntu22.04 KubeSphere 安装K8S集群_Ri0n的博客-CSDN博客 一.系统环境系统:Ubuntu 22.04集群IP分布hostname 角色 IP地址master mast ...

  9. ubuntu18.04系统安装及php7.2,apache2,mysql8,git,svn,composer,vs code 到安装 php 扩展配置php.ini 实现 laravel5.8 运行

    简介:记录自己从系统安装到环境配置完毕运行laravel的记录    • 下载ubuntu18.04桌面版        ○ ubuntu18.04中国官网 https://cn.ubuntu.com ...

  10. 64位ubuntu16.04系统安装tensorflow_cpu

    ubuntu16.04安装tensorflow_cpu 一.安装anaconda: ①.下载anaconda包:Anaconda3-5.2.0-Linux-x86_64.sh 这是python3.6. ...

随机推荐

  1. SpringMVC 流程?

    a.用户发送请求至前端控制器 DispatcherServlet. b.DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器. c.处理器映射器找到具体的处理器 ...

  2. 记一次cdh6.3.2版本spark写入phoniex的错误:Incompatible jars detected between client and server. Ensure that phoenix-[version]-server.jar is put on the classpath of HBase in every region server:

    Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl. ...

  3. 同时开启firewall和iptables

    使用向导 With the iptables service, every single change means flushing all the old rules and reading all ...

  4. MySQL日志(redo log、binlog)刷盘策略

    通过上篇文章,我们知道MySQL是采用两段提交策略来保证事务的原子性的,redo log刷盘的时机是在事务提交的commit阶段采取刷盘的,在此之前,redo log都存在于redo log buff ...

  5. TI AM62x工业开发板规格书(单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F,主频1.4GHz)

    1 评估板简介 创龙科技TL62x-EVM是一款基于TI Sitara系列AM62x单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F多核处理器设计的高性能低功耗工业评估板 ...

  6. 韦东山IMX6ULL Linux开发板基于Buildroot系统QT应用环境配置开发运行

    @ 目录 一. 编译系统 1.设置交叉编译工具链 2.编译系统 二. QT下载 1.安装 Qtcreator 2.创建第一个程序 3.配置 QtCreator 开发环境 4.移植QT程序到开发板 一. ...

  7. Konva 内容重叠无法触发点击事件的解决方法

    写在前面: 环境:Vue3 + Konva + vite 在绘制界面时踩坑,主要是关于 listening 属性的使用 在绘制界面时,不免出现有内容重叠的情况,这会影响事件的触发 使用设置listen ...

  8. SpringBoot排查自动装配、Bean、Component、Configuration配置类

    排除自动装配AutoConfiguration @SpringBootApplication( exclude = { DataSourceAutoConfiguration.class, Mybat ...

  9. Java-文件下载案例

    文件下载需求 1.页面显示超链接 2.点击超链接后弹出下载框 3.完成图片文件下载 分析 1.超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框.不满足需求 2.任 ...

  10. 1. CMake 概述

    1. CMake 概述 CMake 可以用来构建C/C++工程,可以跨平台.允许开发者指定整个工程的编译流程 在CMake 没有出来之前,开发者需要手写 makefile,但是不同平台下的 makef ...