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模块是否安装成功:

 

 

 

 

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

 

posted on 2022-10-03 10:32  Angry_Panda  阅读(255)  评论(0编辑  收藏  举报

导航