Ubuntu22.04系统安装DeepMind Lab
相关资料:
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的更多相关文章
- 64位ubuntu16.04系统安装网易云音乐
64位ubuntu16.04系统安装网易云音乐 1.官网下载安装包:netease-cloud-music_1.1.0_amd64_ubuntu.deb https://music.163.com/# ...
- 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) (转载)
原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...
- Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)
http://lib.csdn.net/article/aimachinelearning/68113 原文地址:http://blog.csdn.net/jinzhuojun/article/det ...
- Ubuntu22.04 安装配置流水账
前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考. 制作启动U盘 在Ubuntu网站 ...
- Ubuntu22.04 安装配置VNC Server
如果转载, 请注明出处 https://www.cnblogs.com/milton/p/16730512.html Ubuntu22.40下VNC和远程桌面的区别 使用远程桌面时, 用户必须在hos ...
- 带有pwn环境的Ubuntu22.04快速安装
pwn环境ubuntu22.04快速安装(有克隆vmk) ubuntu更新到了22.04版本,经过本人测试后非常的好(ma)用(fan),该版本和mac很相像,而且用起来也比较丝滑,只不过配置上稍微有 ...
- ubuntu22.04安装 kubernetes(docker)
初始化检查 操作系统:ubuntu22.04 LTS docker:20.10.18 kubelet: v1.23.6 kubeadm:v1.23.6 kubectl: v1.23.6 1.校准时间: ...
- Ubuntu22.04 KubeSphere 安装K8S集群
Ubuntu22.04 KubeSphere 安装K8S集群_Ri0n的博客-CSDN博客 一.系统环境系统:Ubuntu 22.04集群IP分布hostname 角色 IP地址master mast ...
- 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 ...
- 64位ubuntu16.04系统安装tensorflow_cpu
ubuntu16.04安装tensorflow_cpu 一.安装anaconda: ①.下载anaconda包:Anaconda3-5.2.0-Linux-x86_64.sh 这是python3.6. ...
随机推荐
- jsp表单提交中的逻辑判断
针对于表单 通常情况下 我们都是表单提交 提交的路径为以下: 提交的按钮的type="submit" 当我们想在表单提交前增加一个逻辑判断 我们就需要把button中的typ ...
- work13
任务要求: 1.建立一个企鹅类,企鹅有名字(可以自由添加属性)2.把多个企鹅的信息添加到集合中3.查看企鹅的数量4.遍历输出所有企鹅的信息5.删除集合中索引值是2的企鹅的元素 任务描述: 定义一个老鼠 ...
- Java 对象转Map,Java Map转对象方法
Java 对象转Map,Java Map转对象方法 import com.alibaba.fastjson.JSON; import org.apache.commons.beanutils.Bean ...
- 如何查询Windows10的激活时间等相关信息
您可以按Windows+R,打开运行,运行:slmgr.vbs -dlv 命令可以查询到Windows的激活信息,包括:激活ID.安装ID.激活截止日期等:运行:slmgr.vbs -dli 命令可以 ...
- Apache Kylin(二)在EMR上搭建Kylin
EMR上搭建kylin 1. 启动EMR集群 根据官网说明: http://kylin.apache.org/docs21/install/kylin_aws_emr.html 启动EMR时,若是 h ...
- bash shell基础命令
bash shell基础命令 很多Linux发行版的默认shell是GNU bash shell. 1. 启动shell GNU bash shell是一个程序,提供了对Linux系统的交互式访问.它 ...
- Ubuntu 22.04扩容LVM空间
今天为了编译ThingsBoard的源代码,发现原来给虚拟机分配的40个G不够用了.于是乎在VMWare Workstation中扩容了40G的磁盘空间.但是此时lvm是不会自动扩容的,因此我们需要手 ...
- 复习 - js基础语法
今天继续复习了js基础语法 最后一天了 学完了进入dom bom的复习 今天发现了很多经典案例 我都不知道一个随笔放的完不 逻辑性感觉还是蛮强的 主要就是作用域 对象 内置对象等一些的操作嘛 话不多 ...
- MyBatis学习篇
什么是MyBatis (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement等繁杂 ...
- Centos7离线安装gcc4.8
有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安装gcc4.8. 第一步: 先去http://mirrors.aliyun.com/centos/ ...