怎么样编译DeepMind?

来源:互联网 发布:java super初始化 编辑:程序博客网 时间:2024/04/30 08:58

可以通过下面的文章来编译著名的deepmind系统。


How to build DeepMind Lab


DeepMind Lab uses Bazel as its build system. Its main BUILD file defines a number of build targets and their dependencies. The build rules should work out of the box on Debian (Jessie or newer) and Ubuntu (version 14.04 or newer), provided the required packages are installed. DeepMind Lab also builds on other Linux systems, but some changes to the build files might be required, see below.


DeepMind Lab is written in C99 and C++11, and you will need a sufficiently modern compiler. GCC 4.8 should suffice.


Step-by-step instructions for Debian or Ubuntu


Tested on Debian 8.6 (Jessie) and Ubuntu 14.04 (Trusty) and newer.


Install Bazel by adding a custom APT repository, as described on the Bazel homepage or using an installer. This should also install GCC and zip.


Install DeepMind Lab's dependencies:


$ sudo apt-get install lua5.1 liblua5.1-0-dev libffi-dev gettext \
    freeglut3-dev libsdl2-dev libosmesa6-dev python-dev python-numpy realpath
Clone or download DeepMind Lab.


Build DeepMind Lab and run a random agent:


$ cd lab
# Build the Python interface to DeepMind Lab with OpenGL
lab$ bazel build :deepmind_lab.so --define headless=glx
# Build and run the tests for it
lab$ bazel run :python_module_test --define headless=glx
# Rebuild the Python interface in non-headless mode and run a random agent
lab$ bazel run :random_agent --define headless=false
The Bazel target :deepmind_lab.so builds the Python module that interfaces DeepMind Lab. It can be build in headless hardware rendering mode (--define headless=glx), headless software rendering mode (--define headless=osmesa) or non-headless mode (--define headless=false).


The random agent target :random_agent has a number of optional command line arguments. Run


lab$ bazel run :random_agent -- --help
to see those.


Building on Red Hat Enterprise Linux Server


Tested on release 7.2 (Maipo).


Add the Extra Packages as described on fedoraproject.org


Install Bazel's and DeepMind Lab's dependencies


sudo yum -y install unzip java-1.8.0-openjdk lua lua-devel libffi-devel zip \
  java-1.8.0-openjdk-devel gcc gcc-c++ freeglut-devel SDL2 SDL2-devel \
  mesa-libOSMesa-devel python-devel numpy
Download and run a Bazel binary installer, e.g.


sudo yum -y install wget
wget https://github.com/bazelbuild/bazel/releases/download/0.3.2/bazel-0.3.2-installer-linux-x86_64.sh
sh bazel-0.3.2-installer-linux-x86_64.sh
Clone or download DeepMind Lab.


Edit lua.BUILD to reflect how Lua is installed on your system:


cc_library(
    name = "lua",
    linkopts = ["-llua"],
    visibility = ["//visibility:public"],
)
The output of pkg-config lua --libs --cflags might be helpful to find the right include folders and linker options.


Build DeepMind Lab using Bazel as above.


Building on SUSE Linux


Tested on SUSE Linux Enterprise Server 12.


Install Bazel's and DeepMind Lab's dependencies


sudo zypper --non-interactive install java-1_8_0-openjdk \
  java-1_8_0-openjdk-devel gcc gcc-c++ lua lua-devel python-devel \
  python-numpy-devel libSDL-devel libOSMesa-devel freeglut-devel
Download and run a Bazel binary installer, e.g.


sudo yum -y install wget
wget https://github.com/bazelbuild/bazel/releases/download/0.3.2/bazel-0.3.2-installer-linux-x86_64.sh
sh bazel-0.3.2-installer-linux-x86_64.sh
Clone or download DeepMind Lab.


Edit lua.BUILD to reflect how Lua is installed on your system:


cc_library(
    name = "lua",
    linkopts = ["-llua"],
    visibility = ["//visibility:public"],
)
The output of pkg-config lua --libs --cflags might be helpful to find the right include folders and linker options.


Edit python.BUILD to reflect how Python is installed on your system:


cc_library(
    name = "python",
    hdrs = glob([
        "include/python2.7/*.h",
        "lib64/python2.7/site-packages/numpy/core/include/**/*.h",
    ]),
    includes = [
        "include/python2.7",
        "lib64/python2.7/site-packages/numpy/core/include",
    ],
    visibility = ["//visibility:public"],
)
The outputs of rpm -ql python and rpm -ql python-numpy-devel might be helpful to find the rihgt include folders.


Build DeepMind Lab using Bazel as above.


https://github.com/deepmind/lab/blob/master/docs/build.md


1. RPG游戏从入门到精通

http://edu.csdn.net/course/detail/5246

2. WiX安装工具的使用
http://edu.csdn.net/course/detail/5207

3. 俄罗斯方块游戏开发
http://edu.csdn.net/course/detail/5110
4. boost库入门基础
http://edu.csdn.net/course/detail/5029
5.Arduino入门基础
http://edu.csdn.net/course/detail/4931
6.Unity5.x游戏基础入门
http://edu.csdn.net/course/detail/4810
7. TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
8. TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369
9. C++标准模板库从入门到精通 
http://edu.csdn.net/course/detail/3324
10.跟老菜鸟学C++
http://edu.csdn.net/course/detail/2901
11. 跟老菜鸟学python
http://edu.csdn.net/course/detail/2592
12. 在VC2015里学会使用tinyxml库
http://edu.csdn.net/course/detail/2590
13. 在Windows下SVN的版本管理与实战 
http://edu.csdn.net/course/detail/2579
14.Visual Studio 2015开发C++程序的基本使用 
http://edu.csdn.net/course/detail/2570
15.在VC2015里使用protobuf协议
http://edu.csdn.net/course/detail/2582
16.在VC2015里学会使用MySQL数据库
http://edu.csdn.net/course/detail/2672


原创粉丝点击