ubuntu安装tensorflow serving

前提条件:

方法一:使用 Docker 安装 TensorFlow Serving (推荐)

Docker 提供了最简单、最便捷的方式来安装和运行 TensorFlow Serving。

  1. 安装 Docker (如果尚未安装)

    如果您的系统上还没有安装 Docker,请按照 Docker 官方文档进行安装:

    以下是在 Ubuntu 上安装 Docker 的基本步骤:

    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    

    安装完成后,建议将当前用户添加到 docker 用户组,这样您就可以在不使用 sudo 的情况下运行 Docker 命令:

    sudo usermod -aG docker $USER
    newgrp docker
    
    

    注销并重新登录以使组更改生效。

  2. 拉取 TensorFlow Serving Docker 镜像

    从 Docker Hub 拉取 TensorFlow Serving 的官方镜像。您可以选择 CPU 版本或 GPU 版本,具体取决于您的硬件配置:

    • CPU 版本:

      docker pull tensorflow/serving:latest
      
      
    • GPU 版本 (如果您的服务器有 NVIDIA GPU):

      docker pull tensorflow/serving:latest-gpu
      
      

    latest 标签表示拉取最新版本的 TensorFlow Serving。您也可以指定特定的版本号,例如 tensorflow/serving:2.9.1

  3. 运行 TensorFlow Serving Docker 容器

    运行 Docker 容器,并将您的 TensorFlow 模型目录挂载到容器中。

    docker run -t --rm -p 8501:8501 \
    -v /path/to/your/model:/models/your_model \
    -e MODEL_NAME=your_model \
    tensorflow/serving:latest &
    
    

    说明:

    • -t:分配一个伪终端。
    • --rm:容器停止后自动删除。
    • -p 8501:8501:将容器的 8501 端口映射到主机的 8501 端口(TensorFlow Serving 的默认端口)。
    • -v /path/to/your/model:/models/your_model:将主机上的模型目录 /path/to/your/model 挂载到容器的 /models/your_model 目录。
    • -e MODEL_NAME=your_model:设置模型名称为 your_model
    • tensorflow/serving:latest:使用的 TensorFlow Serving 镜像。
    • &:在后台运行容器。

    重要提示:

    • /path/to/your/model 替换为您的 TensorFlow 模型目录的实际路径。
    • your_model 替换为您想要使用的模型名称。模型名称必须与模型目录的名称相匹配。
  4. 验证 TensorFlow Serving 是否正在运行

    使用 curl 命令向 TensorFlow Serving 发送一个请求,以验证它是否正在运行:

    curl -X POST -T test.json http://localhost:8501/v1/models/your_model:predict
    
    

    说明:

    • test.json 是一个包含测试数据的 JSON 文件。您需要根据您的模型输入格式创建该文件。
    • your_model 是您在运行 Docker 容器时设置的模型名称。

    如果 TensorFlow Serving 正在运行,您应该会收到一个包含预测结果的 JSON 响应。

方法二:从源码构建 TensorFlow Serving (不推荐,除非您需要自定义构建)

如果您需要自定义构建 TensorFlow Serving,或者无法使用 Docker,您可以选择从源码构建。

  1. 安装 Bazel

    TensorFlow Serving 使用 Bazel 作为构建工具。您需要安装 Bazel 才能从源码构建 TensorFlow Serving。

    请按照 Bazel 官方文档进行安装:

    通常,您需要下载 Bazel 的二进制安装包,并将其添加到您的 PATH 环境变量中。

  2. 克隆 TensorFlow Serving 代码仓库

    从 GitHub 克隆 TensorFlow Serving 代码仓库:

    git clone https://github.com/tensorflow/serving.git
    cd serving
    
    
  3. 配置 TensorFlow Serving

    运行 configure 脚本来配置 TensorFlow Serving:

    ./configure
    
    

    该脚本会提示您输入 TensorFlow 的安装路径、CUDA 版本等信息。

  4. 构建 TensorFlow Serving

    使用 Bazel 构建 TensorFlow Serving:

    bazel build tensorflow_serving/...
    
    

    构建过程可能需要一段时间。

  5. 运行 TensorFlow Serving

    构建完成后,您可以在 bazel-bin 目录下找到 TensorFlow Serving 的可执行文件。

    运行 TensorFlow Serving:

    bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server \
    --port=8501 \
    --model_name=your_model \
    --model_base_path=/path/to/your/model
    
    

    说明:

    • --port=8501:指定 TensorFlow Serving 监听的端口。
    • --model_name=your_model:设置模型名称。
    • --model_base_path=/path/to/your/model:指定模型目录。

    重要提示:

    • /path/to/your/model 替换为您的 TensorFlow 模型目录的实际路径。
    • your_model 替换为您想要使用的模型名称。

可用镜像
如下是国内可用的镜像地址:

$ cat /etc/docker/daemon.json

{
"registry-mirrors": ["https://docker.xuanyuan.me"]
}

修改完后重启docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

总结

推荐使用 Docker 安装 TensorFlow Serving,因为它更简单、更便捷。如果您需要自定义构建,可以选择从源码构建。请根据您的实际情况选择合适的方法。

额外提示:

希望这些详细的步骤能够帮助您成功安装 TensorFlow Serving!