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

编译安装

TensorFlow Serving线程调度优化特性相关Patch已合入TensorFlow和TF Serving开源代码仓,代码仓在Gitee托管,可使用Git拉取完整代码后进行代码编译操作。

获取代码

  1. 配置Git取消SSL验证。
    1
    2
    git config --global http.sslVerify false
    git config --global https.sslVerify false
    
  2. 拉取代码。
    1
    git clone https://gitee.com/openeuler/sra_tensorflow_adapter.git -b v2.15.1.0
    

编译

  1. 安装GCC 12.3.1版本。
    1
    2
    3
    yum install -y gcc-toolset-12-gcc*
    PATH=/opt/openEuler/gcc-toolset-12/root/usr/bin/:$PATH
    LD_LIBRARY_PATH=/opt/openEuler/gcc-toolset-12/root/usr/lib64/:$LD_LIBRARY_PATH
    
  2. 进入sra_tensorflow_adapter目录。
    1
    cd sra_tensorflow_adapter/
    
  3. 创建编译依赖存储目录,路径为“/path/to/sra_tensorflow_adapter/serving/download”
    1
    2
    export DISTDIR=$(pwd)/serving/download
    mkdir -p $DISTDIR
    
  4. 设置Bazel编译工具路径,需指向bazel可执行文件所在的目录。
    1
    export BAZEL_PATH=/path/to/bazel
    
  5. 执行构建脚本编译。
    1
    sh compile_serving.sh gcc12
    

    构建产物为TF Serving二进制文件“tensorflow_model_server”,文件路径为“/path/to/sra_tensorflow_adapter/serving/bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server”

    以上构建脚本编译命令中gcc12表示使用GCC 12.3.1版本编译。构建脚本中执行的编译命令为:
    bazel --output_user_root=$BAZEL_COMPILE_CACHE build -c opt --distdir=$DISTDIR --override_repository=org_tensorflow=$TENSORFLOW_DIR --copt=-march=armv8.3-a+crc --copt=-O3 --copt=-fprefetch-loop-arrays --copt=-Wno-error=maybe-uninitialized --copt=-Werror=stringop-overflow=0 tensorflow_serving/model_servers:tensorflow_model_server

    其中部分参数介绍如下:

    • output_user_root:Bazel编译缓存目录,默认为“/path/to/sra_tensorflow_adapter/serving/output”。可通过环境变量BAZEL_COMPILE_CACHE设置自定义路径,命令如下。
      1
      export BAZEL_COMPILE_CACHE=/path/to/your/cache_dir
      
    • distdir:TF Serving编译依赖存放目录,用来解决第三方依赖包下载失败问题。
    • override_repository:指定使用本地TensorFlow构建,将自动识别“/path/to/sra_tensorflow_adapter/tensorflow”目录作为构建依赖。

    构建常见报错及解决指导: