日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实操将TensorFlow模型部署成Docker服务化

發(fā)布時(shí)間:2025/4/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实操将TensorFlow模型部署成Docker服务化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

背景

深度學(xué)習(xí)模型如何服務(wù)化是一個(gè)機(jī)器學(xué)習(xí)領(lǐng)域工程方面的熱點(diǎn),現(xiàn)在業(yè)內(nèi)一個(gè)比較主流的做法是將模型和模型的服務(wù)環(huán)境做成docker image。這樣做的一個(gè)好處是屏蔽了模型對(duì)環(huán)境的依賴,因?yàn)樯疃葘W(xué)習(xí)模型在服務(wù)的時(shí)候可能對(duì)各種框架版本和依賴庫(kù)有要求,解決運(yùn)行環(huán)境問題一直是個(gè)令人頭痛的事情。

將模型通過docker服務(wù)化后意味著深度學(xué)習(xí)模型可以在各種環(huán)境使用,比如云端直接通過k8s調(diào)度拉起,或者在一些IOT領(lǐng)域,比方說一些智能攝像頭也可以通過拉起鏡像服務(wù)的方式使用模型。

?

看來一些網(wǎng)上的資料,發(fā)現(xiàn)大部分資料沒有講得很清楚如何容器化部署TF模型,今天把我自己的學(xué)習(xí)筆記分享下。

詳細(xì)流程

模型部署分4步,首先要準(zhǔn)備一個(gè)TensorFlow模型,還要準(zhǔn)備一個(gè)docker環(huán)境,接著構(gòu)建自己的docker服務(wù),然后發(fā)送請(qǐng)求給docker服務(wù)做測(cè)試。

1.準(zhǔn)備TensorFlow模型

可以直接clone這個(gè)項(xiàng)目:https://github.com/tensorflow/serving

然后找到以下這個(gè)路徑下的叫“saved_model_half_plus_two_cpu”這個(gè)模型,這個(gè)模型比較簡(jiǎn)單,就是將預(yù)測(cè)數(shù)據(jù)除以2再加2。舉個(gè)例子,假設(shè)預(yù)測(cè)數(shù)據(jù)是5,那么預(yù)測(cè)結(jié)果是5/2+2=4.5

/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu

2.準(zhǔn)備Docker環(huán)境

直接在這個(gè)地址下載:https://docs.docker.com/get-docker/

安裝完成后可以在Terminal中輸入docker -v,返回版本號(hào)信息說明安裝完成:

?

3.構(gòu)建TensorFlow模型服務(wù)

(1)首先要從docker倉(cāng)庫(kù)拉取TensorFlow Serving

docker pull tensorflow/serving

(2)構(gòu)建模型服務(wù)

命令如下:

docker run -t --rm -p 8501:8501 -v "{model_path}:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving &
  • 其中{model_path}需要替換成步驟一中下載好的模型

  • -p表示端口號(hào),8500是grpc通信端口,8501是restful_api通信端口

  • /models/half_plus_two表示把本地模型放到了docker中的/models/half_plus_two路徑下

如果不報(bào)錯(cuò),這個(gè)服務(wù)就順利拉起來了。

4.測(cè)試docker服務(wù)

可以通過curl命令發(fā)送預(yù)測(cè)樣本給已經(jīng)部署好的docker服務(wù),具體命令如下:

curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict

預(yù)測(cè)樣本是“instances": [1.0, 2.0, 5.0],預(yù)測(cè)結(jié)果如下,結(jié)果是正確的,每個(gè)輸入值都被除以2再加上2:

"predictions": [2.5, 3.0, 4.5]

?

總結(jié)

以上是生活随笔為你收集整理的实操将TensorFlow模型部署成Docker服务化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。