色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在GPU上利用TensorFlow Serving 部署ResNet

Tensorflowers ? 來源:lp ? 2019-03-05 17:51 ? 次閱讀

TensorFlow Serving 是用于機器學習模型的高性能靈活服務系統,而 NVIDIA TensorRT? 是實現高性能深度學習推理的平臺,通過將二者相結合,用戶便可獲得更高性能,從而輕松實現 GPU 推理。TensorFlow 團隊與 NVIDIA 合作,在 TensorFlow v1.7 中首次添加了對 TensorRT 的支持。此后,我們一直密切合作,共同改進 TensorFlow-TensorRT 集成(稱為 TF-TRT)。TensorFlow Serving 1.13 現已實現這種集成,TensorFlow 2.0 很快也會進行集成。

在 之前的文章 中,我們介紹了如何借助 Docker 使用 TensorFlow Serving。在本文中,我們將展示以同樣的方式運行經 TF-TRT 轉換的模型有多簡單。與之前一樣,我們嘗試在生產環境中部署 ResNet 模型。下方所有示例均在配備 Titan-V GPU 的工作站上運行。

注:ResNet 鏈接

https://github.com/tensorflow/models/tree/master/official/resnet

在 GPU 上利用 TensorFlow Serving 部署 ResNet

在這項練習中,我們僅下載 經過預訓練的 ResNet SavedModel:

$ mkdir /tmp/resnet

$ curl -s https://storage.googleapis.com/download.tensorflow.org/models/official/20181001_resnet/savedmodels/resnet_v2_fp32_savedmodel_NHWC_jpg.tar.gz | tar --strip-components=2 -C /tmp/resnet -xvz

$ ls /tmp/resnet

1538687457

注:經過預訓練的 ResNet 鏈接

https://github.com/tensorflow/models/tree/master/official/resnet#pre-trained-model

在之前的文章中,我們展示了如何使用 TensorFlow Serving CPU Docker 圖像提供模型。在這里,我們運行 GPU Docker 圖像(請查看此處了解相關說明),以借助 GPU 提供并測試此模型:

$ docker pull tensorflow/serving:latest-gpu

$ docker run --rm --runtime=nvidia -p 8501:8501 --name tfserving_resnet \

-v /tmp/resnet:/models/resnet -e MODEL_NAME=resnet -t tensorflow/serving:latest-gpu &

… server.cc:286] Running gRPC ModelServer at 0.0.0.0:8500 …

… server.cc:302] Exporting HTTP/REST API at:localhost:8501 …

$ curl -o /tmp/resnet/resnet_client.py https://raw.githubusercontent.com/tensorflow/serving/master/tensorflow_serving/example/resnet_client.py

$ python /tmp/resnet/resnet_client.py

Prediction class:286, avg latency:18.0469 ms

注:此處 鏈接

https://www.tensorflow.org/serving/docker#serving_with_docker_using_your_gpu

此 docker run 命令會啟動 TensorFlow Serving 服務器,以提供 /tmp/resnet 中已下載的 SavedModel,并在主機中開放 REST API 端口 8501。resnet_client.py 會發送一些圖像給服務器,并返回服務器所作的預測?,F在讓我們終止 TensorFlow Serving 容器的運行,以釋放所占用的 GPU 資源。

$ docker kill tfserving_resnet

注:REST API 鏈接

https://www.tensorflow.org/tfx/serving/api_rest

利用 TF-TRT 轉換和部署模型

現在,我們有了工作模型。為了享受 TensorRT 帶來的好處,我們需要在 TensorFlow Serving Docker 容器內運行轉換命令,從而將此模型轉換為使用 TensorRT 運行運算的模型:

$ docker pull tensorflow/tensorflow:latest-gpu

$ docker run --rm --runtime=nvidia -it -v /tmp:/tmp tensorflow/tensorflow:latest-gpu /usr/local/bin/saved_model_cli \

convert --dir /tmp/resnet/1538687457 --output_dir /tmp/resnet_trt/1538687457 --tag_set serve \

tensorrt --precision_mode FP32 --max_batch_size 1 --is_dynamic_op True

在這里,我們運行了 saved_model_cli 命令行工具,其中內置了對 TF-TRT 轉換的支持。--dir 和 --output_dir 參數會指示 SavedModel 的位置以及在何處輸出轉換后的 SavedModel,而 --tag_set 則指示 SavedModel 中要轉換的圖表。隨后,我們在命令行中傳遞 tensorrt 并指定配置,明確指示其運行 TF-TRT 轉換器

--precision_mode 指示轉換器需使用的精度,目前其僅支持 FP32 和 FP16

--max_batch_size 指示輸入的批次大小上限。此轉換器要求將由 TensorRT 處理的所有張量將其首個維度作為批次維度,而該參數則指示推理過程中會產生的最大值。若已知推理過程中的實際批次大小上限且該值與之匹配,則轉換后的模型即為最優模型。請注意,轉換后的模型無法處理批次規模大于此處所指定大小的輸入,但可處理批次規模更小的輸入

--is_dynamic_op 指示在模型運行時進行實際轉換。原因在于,在進行轉換時,TensorRT 需要明確所有形狀。對于本例中使用的 ResNet 模型,其張量沒有固定的形狀,因此我們需要此參數

注:saved_model_cli 鏈接

https://www.tensorflow.org/guide/saved_model#cli_to_inspect_and_execute_savedmodel

現在,我們只需為模型指定正確的目錄,便可利用 Docker 提供經 TF-TRT 轉換的模型,這與之前一樣簡單:

$ docker run --rm --runtime=nvidia -p 8501:8501 --name tfserving_resnet \

-v /tmp/resnet_trt:/models/resnet -e MODEL_NAME=resnet -t tensorflow/serving:latest-gpu &

… server.cc:286] Running gRPC ModelServer at 0.0.0.0:8500 …

… server.cc:302] Exporting HTTP/REST API at:localhost:8501 …

向其發送請求:

$ python /tmp/resnet/resnet_client.py

Prediction class:286, avg latency:15.0287 ms

最后,我們終止容器的運行:

$ docker kill tfserving_resnet

我們可以看到,使用 TensorFlow Serving 和 Docker 生成經 TF-TRT 轉換的模型與提供一般模型一樣簡單。此外,以上為展示內容,其中的性能數字僅適用于我們所使用的模型和運行本示例的設備,但它的確展現出使用 TF-TRT 所帶來的性能優勢。

TensorFlow 2.0 發布在即,TensorFlow 團隊和 NVIDIA 正在共同努力,以確保 TF-TRT 能在 2.0 中流暢運行。如需了解最新信息,請查看 TF-TRT GitHub 代碼庫(https://github.com/tensorflow/tensorrt)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4766

    瀏覽量

    129189
  • 機器學習
    +關注

    關注

    66

    文章

    8436

    瀏覽量

    132888
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60583

原文標題:利用 NVIDIA TensorRT 優化 TensorFlow Serving 的性能

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    設備利用AI Edge Torch生成式API部署自定義大語言模型

    ,從而無縫地將新的設備端生成式 AI 模型部署到邊緣設備。本文是 Google AI Edge 博客連載的第二篇。一篇文章為大家介紹了 Google AI Edge Torch,該產品可以
    的頭像 發表于 11-14 10:23 ?513次閱讀
    <b class='flag-5'>在</b>設備<b class='flag-5'>上</b><b class='flag-5'>利用</b>AI Edge Torch生成式API<b class='flag-5'>部署</b>自定義大語言模型

    混合部署 | 迅為RK3568同時部署RT-Thread和Linux系統

    RT-Thread介紹 RT-Thread 是一個高安全性、實時性的操作系統,廣泛應用于任務關鍵領域,例如電力、軌道交通、車載系統、工業控制和新能源等。它的加入讓 RK3568 能夠保證系統實時性
    發表于 11-01 10:31

    快速部署Tensorflow和TFLITE模型Jacinto7 Soc

    電子發燒友網站提供《快速部署Tensorflow和TFLITE模型Jacinto7 Soc.pdf》資料免費下載
    發表于 09-27 11:41 ?0次下載
    快速<b class='flag-5'>部署</b><b class='flag-5'>Tensorflow</b>和TFLITE模型<b class='flag-5'>在</b>Jacinto7 Soc

    混合部署 | RK3568同時部署RT-Thread和Linux系統-迅為電子

    混合部署 | RK3568同時部署RT-Thread和Linux系統-迅為電子
    的頭像 發表于 09-06 15:32 ?470次閱讀
    混合<b class='flag-5'>部署</b> | <b class='flag-5'>在</b>RK3568<b class='flag-5'>上</b>同時<b class='flag-5'>部署</b>RT-Thread和Linux系統-迅為電子

    AvaotaA1全志T527開發板上部署ncnn

    ncnn 是一個為手機端極致優化的高性能神經網絡前向計算框架。 ncnn 從設計之初深刻考慮手機端的部署和使用。 無第三方依賴,跨平臺,手機端 cpu 的速度快于目前所有已知的開源框架
    發表于 07-22 10:36

    英國公司實現英偉達CUDA軟件AMD GPU的無縫運行

    7月18日最新資訊,英國創新科技企業Spectral Compute震撼發布了其革命性GPGPU編程工具包——“SCALE”,該工具包實現了英偉達CUDA軟件AMD GPU的無縫遷移與運行,標志著
    的頭像 發表于 07-18 14:40 ?688次閱讀

    利用TensorFlow實現基于深度神經網絡的文本分類模型

    利用TensorFlow實現一個基于深度神經網絡(DNN)的文本分類模型,我們首先需要明確幾個關鍵步驟:數據預處理、模型構建、模型訓練、模型評估與調優,以及最終的模型部署(盡管本文
    的頭像 發表于 07-12 16:39 ?921次閱讀

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google開發的一個開源深度學習框架,它允許開發者方便地構建、訓練和部署各種復雜的機器學習模型。TensorFlow憑借其高效的計算性能、靈活的架構以及豐富的工具和庫,在學
    的頭像 發表于 07-12 16:38 ?771次閱讀

    tensorflow和pytorch哪個更簡單?

    PyTorch更簡單。選擇TensorFlow還是PyTorch取決于您的具體需求和偏好。如果您需要一個易于使用、靈活且具有強大社區支持的框架,PyTorch可能是一個更好的選擇。如果您需要一個
    的頭像 發表于 07-05 09:45 ?940次閱讀

    tensorflow簡單的模型訓練

    本文中,我們將詳細介紹如何使用TensorFlow進行簡單的模型訓練。TensorFlow是一個開源的機器學習庫,廣泛用于各種機器學習任務,包括圖像識別、自然語言處理等。我們將從安裝
    的頭像 發表于 07-05 09:38 ?741次閱讀

    keras模型轉tensorflow session

    在這篇文章中,我們將討論如何將Keras模型轉換為TensorFlow session。 Keras和TensorFlow簡介 Keras是一個高級神經網絡API,它提供了一種簡單、快速的方式來構建
    的頭像 發表于 07-05 09:36 ?574次閱讀

    如何使用Tensorflow保存或加載模型

    TensorFlow是一個廣泛使用的開源機器學習庫,它提供了豐富的API來構建和訓練各種深度學習模型。模型訓練完成后,保存模型以便將來使用或部署是一項常見的需求。同樣,加載已保存的模型進行預測或
    的頭像 發表于 07-04 13:07 ?1665次閱讀

    TensorFlow的定義和使用方法

    數據流圖,從而簡化機器學習模型的構建、訓練和部署。自2015年11月開源以來,TensorFlow迅速成為數據科學家、軟件開發者以及教育工作者廣泛使用的工具,廣泛應用于圖像識別、自然語言處理、推薦系統等多個領域。本文將深入解讀Tenso
    的頭像 發表于 07-02 14:14 ?848次閱讀

    FPGA深度學習應用中或將取代GPU

    上漲,因為事實表明,它們的 GPU 訓練和運行 深度學習模型 方面效果明顯。實際,英偉達也已經對自己的業務進行了轉型,之前它是一家純粹做 GPU 和游戲的公司,現在除了作為一家云
    發表于 03-21 15:19

    AMD GPU如何安裝和配置triton?

    最近在整理python-based的benchmark代碼,反過來NV的GPU又把Triton裝了一遍,發現Triton的github repo已經給出了對應的llvm的commit id以及對應的編譯細節,然后跟著走了一遍
    的頭像 發表于 02-22 17:04 ?2502次閱讀
    <b class='flag-5'>在</b>AMD <b class='flag-5'>GPU</b><b class='flag-5'>上</b>如何安裝和配置triton?
    主站蜘蛛池模板: 高清国产在线播放成人| 俄罗斯女肥臀大屁BBW| 伊人久久亚洲精品一区| yellow日本动漫免费观看| 国产精品成人久久久久A伋| 99久久全国免费久久爱| 国产精品97久久AV色婷婷综合| 久久在精品线影院| 久久青草免费线观最新| 色哒哒影院| 中文字幕在线视频免费观看| 国产精品久久久久久人妻精品蜜桃 | 午夜AV内射一区二区三区红桃视| 日本妈妈在线观看中文字幕| 欧美在线亚洲综合国产人| 亚洲日本国产综合高清| 8050午夜二级一片| 97人妻中文字幕免费视频| YELLOW视频在线观看免费版高清| 精品日韩欧美一区二区三区| 我解开了岳的乳第一个女人 | 久久草香蕉频线观| 乡村教师电影完整版在线观看| 亚洲国语在线视频手机在线 | 免费人成视频19674不收费| 欧洲内射VIDEOXXX3D| 中文字幕高清在线观看| 韩国精品韩国专区久久| 午夜宅宅伦电影网| 国产GV无码A片在线观看| 闺蜜扒开我尿口使劲揉| 免费光看午夜请高视频| 手机在线免费观看毛片| 亚洲国产综合久久精品| 国产福利秒拍weipai.ee| 日本wwwxx爽69护士| 亚洲综合国产精品| 99热这里只有 精品| 免费在线观看国产| 9久爱午夜视频| 琪琪see色原网站在线观看|