TensorFlow Serving模型部署

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度學習實戰(不定時更新)


7.7 TensorFlow Serving模型部署

學習目標

  • 目標
  • 應用
    • 應用TensorFlow Serving完成模型服務運行

7.7.1 TensorFlow Serving

TensorFlow Serving是一種靈活的高性能服務系統,適用於機器學習模型,專爲生產環境而設計。TensorFlow Serving可以輕鬆部署新算法和實驗,同時保持相同的服務器架構和API。TensorFlow Serving提供與TensorFlow模型的開箱即用集成,但可以輕鬆擴展以提供其他類型的模型和數據。

7.7.1.1 安裝Tensorflow Serving

安裝過程詳細參考官網

https://www.tensorflow.org/serving/setup

7.7.2 TensorFlow Serving Docker

  1. 獲取最新TF Serving docker鏡像

    docker pull tensorflow/serving
    
  2. 查看docker鏡像

    docker images
    
  3. 運行tf serving(即創建一個docker容器來運行)

    docker run -p 8501:8501 -p 8500:8500 --mount type=bind,source=/home/ubuntu/detectedmodel/commodity,target=/models/commodity -e MODEL_NAME=commodity -t tensorflow/serving
    

    說明:

    • -p 8501:8501 爲端口映射,-p 主機端口:docker容器程序(tf serving)使用端口,訪問主機8501端口就相當於訪問了tf serving程序的8501端口
    • tf serving 使用8501端口對外提供HTTP服務,使用8500對外提供gRPC服務,這裏同時開放了兩個端口的使用
    • --mount type=bind,source=/home/ubuntu/detectedmodel/commodity,target=/models/commodity 爲文件映射,將主機(source)的模型文件映射到docker容器程序(target)的位置,以便tf serving使用模型,target參數爲/models/我的模型
    • -e MODEL_NAME=commodity設置了一個環境變量,名爲MODEL_NAME,此變量被tf serving讀取,用來按名字尋找模型,與上面target參數中我的模型對應
    • -t 爲tf serving創建一個僞終端,供程序運行
    • tensorflow/serving爲鏡像名

7.7.3 案例操作:wdl模型服務運行

  • 1、運行命令
docker run -p 8501:8501 -p 8500:8500 --mount type=bind,source=/root/toutiao_project/reco_sys/server/models/serving_model/wdl,target=/models/wdl -e MODEL_NAME=wdl -t tensorflow/serving
  • 2、查看是否運行
itcast:~$ docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED              STATUS              PORTS                              NAMES
ed3a36a07ba8        tensorflow/serving   "/usr/bin/tf_serving…"   About a minute ago   Up About a minute   0.0.0.0:8500-8501->8500-8501/tcp   vigorous_goodall

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章