博客文章:Genesis 安装指南与环境配置(Python 3.9+)

引言

随着人工智能和机器学习的蓬勃发展,各式各样的框架和工具如雨后春笋般涌现,为科研人员和开发者的创新之路提供强大支持。今天,我们聚焦于 Genesis—— 一个在物理模拟、计算机图形学以及机器人领域展现出卓越潜力的先进平台。需要特别说明的是,目前 Genesis 项目中备受期待的对话式生成 AI 接口,当前仍处于概念展示阶段,仅存在于 PPT 之中,尚未对外开放 ,大家在关注其发展时需留意这一情况。本文将着重介绍如何使用 Python 3.9 或更高版本,完成 Genesis 的安装与配置,并为大家提供一套完整、详尽的步骤,助力各位顺利搭建工作环境。

环境准备

在开启安装之旅前,请务必确认您的系统满足以下要求:

  • 操作系统:Linux(强烈推荐 Ubuntu)、Windows(WSL2)、macOS。
  • Python 版本:必须为 Python 3.9 或更新版本。
  • Git:用于克隆 Genesis 仓库,获取项目源代码。
  • 注意linux环境必须不能再虚拟机里,项目需要使用到gpu,虚拟机不能直接连接到gpu
  • 步骤一:通过 Conda 安装 Python 3.9+

    首先,我们借助 Conda 来安装 Python 3.9 或更新版本。Conda 作为一款跨平台的包管理和虚拟环境管理系统,在处理复杂依赖关系方面表现出色,是我们的得力助手。

    # 如果尚未安装Conda,请先下载Miniconda:
    # wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    # bash Miniconda3-latest-Linux-x86_64.sh
    
    # 创建并激活包含Python 3.9的新环境
    conda create -n genesis python=3.9
    conda activate genesis
    步骤二:获取 Genesis 源代码

    接下来,从 GitHub 上获取最新的 Genesis 源代码。这一步至关重要,依据官方文档指示,在编译之前,我们需要通过git clone命令下载项目。

    git clone https://github.com/Genesis-Embodied-AI/Genesis.git
    cd Genesis
    步骤三:安装依赖

    根据您是否拥有 sudo 权限,可选择方案 A 或方案 B 来安装依赖项。下面为您详细介绍两种方案的具体内容。

    方案 A: 有 sudo 权限 (推荐)

    此方案适用于拥有 sudo 权限的用户,尤其是 Ubuntu 20.04 及以上版本的用户,因为这些版本自带 Vulkan 1.2 + 的支持。

  • 3.1 安装 GCC-11
  • sudo apt install build-essential software-properties-common
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt update && sudo apt install gcc-11 g++-11
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110

  • 3.2 安装其他依赖
  • sudo snap install cmake --classic
    sudo apt install libvulkan-dev zlib1g-dev xorg-dev libglu1-mesa-dev libsnappy-dev
    pip install "pybind11[global]"
    

  • 安装 CUDA 12.0+:访问NVIDIA 官网并按照说明进行安装。
  • 安装 Rust
  • curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    sudo apt install patchelf

    方案 B: 无 sudo 权限

    如果您没有 sudo 权限,或者期望所有依赖都在 Conda 环境中进行管理,那么可以选择方案 B。

    收起

    bash

    conda install -c conda-forge gcc=11.4 gxx=11.4 cmake=3.26.1 minizip zlib libuuid patchelf vulkan-tools vulkan-headers
    pip install "pybind11[global]"
    

  • 安装 Rust
  • 收起

    bash

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    步骤四:编译 Genesis

    现在,我们已经万事俱备,只欠东风,准备编译 Genesis。请依据您选择的依赖安装方案,执行相应的编译命令。

  • 方案 A (系统依赖)
  • cd genesis/ext/LuisaRender
    cmake -S. -B build \
      -D CMAKE_BUILD_TYPE=Release \
      -D PYTHON_VERSIONS=3.9 \
      -D LUISA_COMPUTE_DOWNLOAD_NVCOMP=ON \
      -D LUISA_COMPUTE_ENABLE_GUI=OFF \
      -D Python3_EXECUTABLE=$(which python3.9) \
      -D Python3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.9.so \
      -D Python3_INCLUDE_DIR=/usr/include/python3.9
    cmake --build build -j $(nproc)
    

  • 方案 B (conda 依赖)
  • bash

    export CONDA_PREFIX=$(conda info --base)/envs/genesis
    export CONDA_INCLUDE_PATH=$CONDA_PREFIX/include
    cd./ext/LuisaRender
    cmake -S. -B build \
      -D CMAKE_BUILD_TYPE=Release \
      -D PYTHON_VERSIONS=3.9 \
      -D LUISA_COMPUTE_DOWNLOAD_NVCOMP=ON \
      -D LUISA_COMPUTE_ENABLE_GUI=OFF \
      -D ZLIB_INCLUDE_DIR=$CONDA_INCLUDE_PATH \
      -D Python3_EXECUTABLE=$CONDA_PREFIX/bin/python \
      -D Python3_LIBRARY=$CONDA_PREFIX/lib/libpython3.9.so \
      -D Python3_INCLUDE_DIR=$CONDA_PREFIX/include/python3.9
    cmake --build build -j $(nproc)
    
    常见问题

    在安装过程中,可能会遭遇一些常见问题,以下为您罗列几个解决方案。

  • 断言 ‘lerror’ 失败:这通常是由于使用的 CUDA 版本与编译时不一致所引发的问题。请务必确保安装了正确的 CUDA 版本,并且在编译时准确指定该版本。
  • “GLIBCXX_3.4.30 not found” 错误:如果使用方案 A 时遇到这个问题,可能是因为 Anaconda 中的库版本与系统库发生冲突。尝试采用如下解决方法:
  • cd ~/anaconda3/envs/genesis/lib
    mv libstdc++.so.6 libstdc++.so.6.old
    ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6
    

  • 如果遇到卡在 47% 的情况:这通常是由于网络问题导致 Embree 库下载失败。您可以手动下载 Embree,并设置环境变量指向本地文件后重新编译。具体步骤如下:
    1. 访问 RenderKit/embree releases,下载 embree-4.3.3 版本的 .tar.gz 文件。
    2. 将下载的文件放置在一个易于访问的位置,例如 ~/Downloads 目录下。
    3. 设置环境变量 EMBREE_ZIP_FILE 指向下载的文件路径:
  • export EMBREE_ZIP_FILE=$PWD/embree-4.3.3-testing.tar.gz
    

    1. 清理旧的构建目录并重新编译:
    rm -rf build
    mkdir build
    cd build
    cmake -S.. -B.
    cmake --build. -j$(nproc)
    

    如果问题依旧存在,建议使用网络代理(如梯子)来保障下载过程顺利进行。

    结论

    通过上述步骤,您应当能够成功安装并配置 Genesis 环境,同时确保所有组件均基于 Python 3.9 或更新版本运行。这不仅保障了兼容性,更为后续的研究和开发筑牢了坚实根基。希望这篇指南能为您提供切实帮助!


    本篇博客基于Genesis 官方文档,旨在提供更详细且易于理解的安装指导。如有任何疑问或遇到问题,请随时访问官方网站寻求进一步的帮助。


    【注】:以上内容仅供参考,具体操作时请以官方最新文档为准。如果发现任何错误或不准确之处,欢迎留言指正!

    作者:qq_27492797

    物联沃分享整理
    物联沃-IOTWORD物联网 » 博客文章:Genesis 安装指南与环境配置(Python 3.9+)

    发表回复