鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译和安装

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令进入主程序安装目录。
    cd /path/to/DEEPMDKIT
  3. 执行以下命令创建虚拟python环境。
    python3 -m venv test
    source test/bin/activate
  4. 执行以下命令配置环境变量。
    export CC=gcc CXX=g++ FC=gfortran
  5. 执行以下命令创建并进入bazel目录。
    mkdir bazel
    cd bazel
  6. 执行以下命令下载bazel。
    wget https://github.com/bazelbuild/bazelisk/releases/download/v1.16.0/bazelisk-linux-arm64
  7. 执行以下命令进入配置bazel。
    chmod a+x bazelisk-linux-arm64
    ln -sf bazelisk-linux-arm64 bazel
    export PATH=`pwd`:$PATH
  8. 执行以下命令创建并进入tensorflow目录。
    cd ..
    mkdir tensorflow
    cd tensorflow/
  9. 执行以下命令下载tensorflow源码包。
    git clone https://github.com/tensorflow/tensorflow tensorflow -b v2.8.0 --depth=1
  10. 执行以下命令进入tensorflow源码目录并配置。
    cd tensorflow/
    ./configure
  11. 配置选项可以参考下图。

  12. 执行以下命令构建 TensorFlow的共享库。
    bazel build -c opt --verbose_failures //tensorflow:libtensorflow_cc.so

  13. 如出现证书验证问题,可以通过以下命令导入证书。
    vim ~/.bazelrc
    输入以下内容, /path/to/jre/lib/security/cacerts为java证书路径,示例中使用默认密码changeit。
    startup --host_jvm_args=-Djavax.net.ssl.trustStore=/path/to/jre/lib/security/cacerts --host_jvm_args=-Djava.net.ssl.trustStorePassword=changeit
  14. 执行以下命令重启bazel。
    bazel shutdown
  15. 执行以下命令将库文件复制到TensorFlow的安装目录。
    export tensorflow_root=/path/to/DEEPMDKIT/tensorflow/tensorflow_root
    mkdir -p $tensorflow_root/lib
    cp -d bazel-bin/tensorflow/libtensorflow_cc.so* $tensorflow_root/lib/
    cp -d bazel-bin/tensorflow/libtensorflow_framework.so* $tensorflow_root/lib/
    cp -d $tensorflow_root/lib/libtensorflow_framework.so.2 $tensorflow_root/lib/libtensorflow_framework.so
  16. 执行以下命令复制头文件。
    mkdir -p $tensorflow_root/include/tensorflow
    rsync -avzh --exclude '_virtual_includes/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $tensorflow_root/include/
    rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $tensorflow_root/include/tensorflow/
    rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $tensorflow_root/include/tensorflow/
    rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $tensorflow_root/include/third_party/
    rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-tensorflow/external/eigen_archive/Eigen/ $tensorflow_root/include/Eigen/
    rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-tensorflow/external/eigen_archive/unsupported/ $tensorflow_root/include/unsupported/
    rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-tensorflow/external/com_google_protobuf/src/google/ $tensorflow_root/include/google/
    rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-tensorflow/external/com_google_absl/absl/ $tensorflow_root/include/absl/
  17. 执行以下命令进入DEEPMDKIT源码目录。
    cd /path/to/DEEPMDKIT/deepmd-kit/source
  18. 执行以下命令创建并进入编译目录。
    mkdir build 
    cd build
  19. 执行以下命令生成makefile。
    cmake -DTENSORFLOW_ROOT=$tensorflow_root -DCMAKE_INSTALL_PREFIX=/path/to/DEEPMDKIT/deepmdkit_install ..
  20. 执行以下命令编译DEEPMDKIT。
    make 
    make install