91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用 TensorFlow Serving 賦能

Tensorflowers ? 來源:TensorFlow ? 作者:黃鴻波 ? 2021-09-24 15:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著互聯(lián)網(wǎng)的發(fā)展和人工智能的進(jìn)步,各個(gè)廠家都開始針對(duì)性的向用戶推薦自己的內(nèi)容,這些內(nèi)容包括了文章、視頻、商品以及一些其他的希望被用戶看到的內(nèi)容了,能夠讓用戶有好的內(nèi)容的體驗(yàn),更好的捕捉到用戶所需要的內(nèi)容,這背后的成功都?xì)w功于推薦系統(tǒng)。

企業(yè)中的推薦系統(tǒng)包括哪幾個(gè)部分

上面是企業(yè)中一個(gè)常見的推薦系統(tǒng)的架構(gòu)圖,一般來講,一個(gè)完整的推薦系統(tǒng)企業(yè)級(jí)的架構(gòu)應(yīng)該包括數(shù)據(jù)的存儲(chǔ)、業(yè)務(wù)模型、服務(wù)層以及上層對(duì)于用戶來講可見的 App 或者一些其他可視化是產(chǎn)品。

數(shù)據(jù)存儲(chǔ)

對(duì)于數(shù)據(jù)存儲(chǔ)來講,幾乎是每一個(gè)完整的推薦系統(tǒng)必不可少的一個(gè)部分,所有的用戶數(shù)據(jù)、候選內(nèi)容的所有的信息、日志系統(tǒng)以及緩存等,全都屬于數(shù)據(jù)存儲(chǔ)的一部分,后續(xù)我們要做的與用戶相關(guān)的畫像、內(nèi)容畫像以及其他需要提取的特征信息也全都來自于數(shù)據(jù)系統(tǒng)。

一般來講,數(shù)據(jù)系統(tǒng)是一個(gè)很大的概念,它不僅限于某一個(gè)數(shù)據(jù)庫,或者某一個(gè)數(shù)據(jù)處理邏輯,而是一整套與數(shù)據(jù)相關(guān)的系統(tǒng),用于存儲(chǔ)用戶信息的關(guān)系型數(shù)據(jù)庫、用戶存儲(chǔ)商品信息的數(shù)據(jù)模型、用于進(jìn)行大數(shù)據(jù)運(yùn)算的數(shù)據(jù)湖和數(shù)據(jù)集群等,我們把這些處理數(shù)據(jù)的系統(tǒng)整合,形成了推薦系統(tǒng)的數(shù)據(jù)存儲(chǔ)部分。

業(yè)務(wù)模型

業(yè)務(wù)模型是推薦系統(tǒng)的核心。推薦系統(tǒng)的效果好壞可以說 90% 以上是由于業(yè)務(wù)模型決定的。在一個(gè)推薦系統(tǒng)中,數(shù)據(jù)系統(tǒng)一般包含三個(gè)部分,數(shù)據(jù)邏輯層、召回層和排序?qū)印?/p>

一般來講,我們當(dāng)從用戶進(jìn)入到我們的系統(tǒng)的時(shí)候,推薦系統(tǒng)就已經(jīng)在發(fā)揮作用了。首先,我們會(huì)將用戶的數(shù)據(jù)通過各種數(shù)據(jù)處理、深度學(xué)習(xí)或者機(jī)器學(xué)習(xí)的方法進(jìn)行數(shù)據(jù)的處理,這一部分的處理一般包括類似于用戶日志采集,分詞、內(nèi)容畫像、用戶畫像等,這里可用使用大量的深度學(xué)習(xí)方式來做。

接下來,我們可以使用這些畫像和特征來進(jìn)行針對(duì)于特定用戶的內(nèi)容召回,這里的召回實(shí)際上就是通過各種方法來找到用戶可能感興趣的內(nèi)容。

當(dāng)找到用戶可能感興趣的內(nèi)容之后,我們一般會(huì)對(duì)這些內(nèi)容進(jìn)行進(jìn)一步的篩選和排序,找到在這些內(nèi)容中,用戶最感興趣的前面的幾個(gè)或者幾十個(gè)內(nèi)容分別是什么,這一步,一般我們稱之為排序?qū)印?/p>

最后,我們可以將排序后的結(jié)果輸出給用戶進(jìn)行界面的展示,從而達(dá)到最后的推薦效果。

使用 TensorFlow Serving 賦能

目前來講,無論是數(shù)據(jù)邏輯、召回層還是排序?qū)?,都可以使用很多深度學(xué)習(xí)的方法來做。例如數(shù)據(jù)邏輯中有關(guān)命名實(shí)體識(shí)別的部分可以使用 TensorFlow 來實(shí)現(xiàn),召回層可以使用 TensorFlow 來實(shí)現(xiàn) YoutubeDNN 模型并部署到生產(chǎn)環(huán)境中,在排序?qū)游覀円部梢允褂?xDeepFM 等深度學(xué)習(xí)方法來實(shí)現(xiàn)。

那么對(duì)于這些深度學(xué)習(xí)模型來講,最好的模型上線和部署方式莫過于使用 TensorFlow Serving 進(jìn)行部署了。

由于 TensorFlow Serving 本身就是 Google 自家的產(chǎn)品,也是 TensorFlow 大家族的一部分,因此,使用 TensorFlow Serving 對(duì) TensorFlow 的模型進(jìn)行部署無疑是最好的選擇。

在我所在的企業(yè)中,幾乎所有的深度學(xué)習(xí)所涉及到的模型都會(huì)被轉(zhuǎn)換成 TensorFlow Serving 的模式進(jìn)行部署。在使用 TensorFlow Serving 進(jìn)行模型部署的時(shí)候,實(shí)際上會(huì)有很多個(gè) tricks。

例如,在實(shí)際的操作當(dāng)中,很多人會(huì)發(fā)現(xiàn),自己也把模型轉(zhuǎn)換成了 PB 模型,也能自己使用代碼的方式加載這個(gè) pb 模型進(jìn)行推理,但是,放到 TensorFlow Serving 上之后就無法進(jìn)行推理,然后還會(huì)報(bào)各種各樣莫名其妙的錯(cuò)誤。一般來講,造成這個(gè)問題的原因有以下幾種。

1. pb 模型轉(zhuǎn)換的類型錯(cuò)誤

pb 模型轉(zhuǎn)換的類型錯(cuò)誤是大部分 TensorFlow 開發(fā)人員常見的錯(cuò)誤之一,一般來講,TensorFlow 可以轉(zhuǎn)換的 pb 文件大致可以分成兩種,一種是直接轉(zhuǎn)換成一個(gè) pb 文件,這種文件只是一個(gè)以模型名稱命名,以 .pb 為格式的單個(gè)文件,這個(gè)文件一般使用在終端的推理中,比如移動(dòng)端的推理,或者是給到 C++ 等語言進(jìn)行模型的調(diào)用,但是如果把它直接使用 TensorFlow Serving 進(jìn)行部署的話,往往就會(huì)出錯(cuò)。

實(shí)際上,如果想使用 TensorFlow Serving 進(jìn)行部署,那么我們就需要將我們的模型轉(zhuǎn)換成 Saved Model 格式的 pb 文件。Saved Model 格式的 pb 文件與一般的 pb 文件相比不同之處在于,Saved Model 格式的 pb 文件一般是凍結(jié)圖文件,它可以更方便的部署。一般來講,使用 Saved Model 格式進(jìn)行打包之后,除了模型文件本身,會(huì)生成 variables 目錄,其中 pb 文件是模型的定義文件,variables 目錄下存放的是模型的各個(gè)推理所需要的參數(shù)。

因此,如果你生成了一個(gè) pb 文件在本地可以推理,但是放在 TensorFlow Serving 中部署的時(shí)候不能推理的話,首先看看是不是這里的問題。

2. 在 TensorFlow Serving 中推理的時(shí)候沒有加入版本標(biāo)識(shí)

有些同學(xué)在使用 TensorFlow Serving 的時(shí)候,也能夠轉(zhuǎn)換成 Saved Model 格式的 pb 文件了,而且在本地驗(yàn)證也沒有問題了,但是放到 TensorFlow Serving 的相關(guān)服務(wù)上就會(huì)報(bào)錯(cuò),總是提示找不到版本,一般來講,這種問題是你導(dǎo)出的模型中沒有添加模型的版本號(hào)所導(dǎo)致的,我們在 TensorFlow Serving 中進(jìn)行模型部署的時(shí)候,往往都需要在最外層定義一個(gè)模型的版本號(hào),而 TensorFlow Serving 也會(huì)通過判斷模型的版本號(hào)來進(jìn)行模型的更新。

3. 模型沒有標(biāo)明正確的輸入輸出

有些同學(xué)在模型轉(zhuǎn)換完之后,發(fā)現(xiàn)無法在推理環(huán)境中運(yùn)行,一直提示輸入的 tensor 不正確,這種情況下一般來講是在對(duì)模型進(jìn)行導(dǎo)出時(shí),沒有對(duì)輸入輸出的參數(shù)進(jìn)行命名,從而使得模型使用了標(biāo)準(zhǔn)的命名,導(dǎo)致無法進(jìn)行推理。

TensorFlow Serving 的性能優(yōu)化

之前很多人在使用 TensorFlow Serving 在做模型部署的時(shí)候,都跟我說它的性能不好,部署 Albert tiny 模型的 QPS 連 50 都不到,還不如使用傳統(tǒng)的部署方法,當(dāng)我跟大家說,我使用 TensorFlow Serving 部署時(shí),在 CPU 服務(wù)器上 QPS 能上到 2000 多,在 GPU 服務(wù)器上 QPS 甚至能達(dá)到 5000 以上,那么,為什么差異會(huì)這么大呢?

實(shí)際上,如果按照正常的部署方式,沒有帶任何參數(shù)的話,它的并發(fā)確實(shí)會(huì)很低,但是實(shí)際上,TensorFlow Serving 給我們提供了針對(duì)于高并發(fā)的部署方案,在 http://tensorflow.google.cn/tfx/serving/serving_config 中,有一個(gè)叫做 Batching Configuration 的配置的示例:

max_batch_size { value: 128 }

batch_timeout_micros { value: 0 }

max_enqueued_batches { value: 1000000 }

num_batch_threads { value: 8 }

這個(gè)示例,很大程度上決定了并發(fā)的性能。一般來講,在使用 CPU 部署的時(shí)候,我們可以將 num_batch_threads 設(shè)置為 CPU 核數(shù)的 2 倍加 1,例如我們的 CPU 是 48 核,這里可以設(shè)置為 97;當(dāng)我們使用 GPU 進(jìn)行部署的時(shí)候,這里面的 num_batch_threads 最好設(shè)置為 GPU 的個(gè)數(shù)。這樣的設(shè)置,能夠最大的程度上利用到我們的 CPU 和 GPU,使得并發(fā)提高。

在部署方面,TensorFlow Serving 給我們提供了 2 種大類別的 docker,一個(gè)是 GPU 的一個(gè)是 CPU 的,這個(gè)在做 docker 部署的時(shí)候一定要注意區(qū)分,否則很容易導(dǎo)致部署之后的性能低;另外,在 TensorFlow Serving 所提供的 docker 中,又可以分為 devel 版本和正常版本,其中 devel 里面帶有一些內(nèi)置的開發(fā)環(huán)境,一般用于調(diào)試用,在正式環(huán)境中,我們更建議使用正常的 docker 版本。

實(shí)際上,在工業(yè)界,將 TensorFlow 與推薦系統(tǒng)結(jié)合的例子很多,我們可以利用好 TensorFlow Serving 做好模型的推理,從而更好的提供相關(guān)的服務(wù)。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1817

    文章

    50091

    瀏覽量

    265207

原文標(biāo)題:社區(qū)分享 | TensorFlow Serving如何結(jié)合推薦系統(tǒng)在企業(yè)中落地

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    安徽京準(zhǔn):PTP時(shí)鐘同步精準(zhǔn)AI機(jī)器人

    安徽京準(zhǔn):PTP時(shí)鐘同步精準(zhǔn)AI機(jī)器人
    的頭像 發(fā)表于 01-16 15:06 ?236次閱讀
    安徽京準(zhǔn):PTP時(shí)鐘同步精準(zhǔn)<b class='flag-5'>賦</b><b class='flag-5'>能</b>AI機(jī)器人

    京東關(guān)鍵詞API

    京東關(guān)鍵詞 API :從數(shù)據(jù)采集到業(yè)務(wù)增長的全鏈路落地指南 京東關(guān)鍵詞 API(以item_search/item_search_pro為核心)的核心價(jià)值,是 打破電商數(shù)據(jù)壁壘
    的頭像 發(fā)表于 01-07 09:53 ?496次閱讀

    醫(yī)院NTP子母鐘系統(tǒng):安徽京準(zhǔn)醫(yī)療行業(yè)精準(zhǔn)時(shí)序

    醫(yī)院NTP子母鐘系統(tǒng):安徽京準(zhǔn)醫(yī)療行業(yè)精準(zhǔn)時(shí)序
    的頭像 發(fā)表于 01-06 14:53 ?197次閱讀

    大模型物資需求精準(zhǔn)預(yù)測與采購系統(tǒng):功能特點(diǎn)與平臺(tái)架構(gòu)解析

    ? ? 大模型物資需求預(yù)測與采購智能化:核心功能與價(jià)值解析 ? ?大模型物資需求精準(zhǔn)預(yù)測與采購系統(tǒng)通過深度整合多源數(shù)據(jù)、構(gòu)建動(dòng)態(tài)預(yù)測模型及優(yōu)化采購策略,可大幅提升物資需求預(yù)測精
    的頭像 發(fā)表于 12-16 11:54 ?294次閱讀

    華為出席智慧校園教育教學(xué)高質(zhì)量發(fā)展研討會(huì)

    由云南省高等學(xué)校計(jì)算機(jī)教學(xué)研究會(huì)指導(dǎo),西南林業(yè)大學(xué)聯(lián)合華為、中國電信股份有限公司云南分公司主辦的“智慧校園教育教學(xué)高質(zhì)量發(fā)展研討會(huì)”在昆明舉行。論壇以“AI教育,品智引領(lǐng)未來”
    的頭像 發(fā)表于 12-05 17:25 ?1644次閱讀

    生成式AI虛擬調(diào)試——fe.screen-sim的架構(gòu)價(jià)值

    生成式AI虛擬調(diào)試——fe.screen-sim的架構(gòu)價(jià)值
    的頭像 發(fā)表于 12-04 14:59 ?968次閱讀
    生成式AI<b class='flag-5'>賦</b><b class='flag-5'>能</b>虛擬調(diào)試——fe.screen-sim的架構(gòu)價(jià)值

    安徽京準(zhǔn):NTP校時(shí)服務(wù)器智慧水務(wù)監(jiān)管優(yōu)化

    安徽京準(zhǔn):NTP校時(shí)服務(wù)器智慧水務(wù)監(jiān)管優(yōu)化
    的頭像 發(fā)表于 11-26 08:37 ?379次閱讀
    安徽京準(zhǔn):NTP校時(shí)服務(wù)器<b class='flag-5'>賦</b><b class='flag-5'>能</b>智慧水務(wù)監(jiān)管優(yōu)化

    【上海晶珩睿莓1開發(fā)板試用體驗(yàn)】TensorFlow-Lite物體歸類(classify)

    目前尚未得知睿莓1開發(fā)板上面有NPU或者DPU之類的額外處理器,因此使用樹莓派系列使用最廣泛的TensorFlow-Lite庫進(jìn)行物體歸類,使用CPU運(yùn)行代碼,因此占用的是CPU的算力。在
    發(fā)表于 09-12 22:43

    科研新程,啟航!開學(xué)季,店鋪購機(jī)即贈(zèng)好禮!

    科研新程,啟航!開學(xué)季,店鋪購機(jī)即贈(zèng)好禮!
    的頭像 發(fā)表于 08-29 16:03 ?545次閱讀
    科研新程,<b class='flag-5'>賦</b><b class='flag-5'>能</b>啟航!開學(xué)季,店鋪購機(jī)即贈(zèng)好禮!

    美芯晟DtoF傳感技術(shù)智慧感知清潔新時(shí)代

    美芯晟DtoF傳感技術(shù)智慧感知清潔新時(shí)代
    的頭像 發(fā)表于 07-23 14:35 ?3307次閱讀
    美芯晟DtoF傳感技術(shù)<b class='flag-5'>賦</b><b class='flag-5'>能</b>智慧感知清潔新時(shí)代

    橋接智能制造:PROFINET與Devicenet混合架構(gòu)汽車擦凈機(jī)器人升級(jí)

    橋接智能制造:PROFINET與Devicenet混合架構(gòu)汽車擦凈機(jī)器人升級(jí)
    的頭像 發(fā)表于 05-28 16:40 ?591次閱讀
    橋接智能制造:PROFINET與Devicenet混合架構(gòu)<b class='flag-5'>賦</b><b class='flag-5'>能</b>汽車擦凈機(jī)器人升級(jí)

    用樹莓派搞深度學(xué)習(xí)?TensorFlow啟動(dòng)!

    介紹本頁面將指導(dǎo)您在搭載64位Bullseye操作系統(tǒng)的RaspberryPi4上安裝TensorFlowTensorFlow是一個(gè)專為深度學(xué)習(xí)開發(fā)的大型軟件庫,它消耗大量資源。您可以在
    的頭像 發(fā)表于 03-25 09:33 ?1197次閱讀
    用樹莓派搞深度學(xué)習(xí)?<b class='flag-5'>TensorFlow</b>啟動(dòng)!

    OpenVINO?是否與TensorFlow集成支持Raspberry Pi?

    無法確定OpenVINO?是否與 TensorFlow* 集成支持 Raspberry Pi。
    發(fā)表于 03-05 08:26

    為什么無法將TensorFlow自定義模型轉(zhuǎn)換為IR格式?

    TensorFlow* 自定義模型轉(zhuǎn)換為 IR 格式: mo --data_type FP16 --saved_model_dir--input_shape (1,150,150,3
    發(fā)表于 03-05 07:26

    電池綜合測試儀:科技,精準(zhǔn)守護(hù)能源安全

    電池綜合測試儀:科技,精準(zhǔn)守護(hù)能源安全
    的頭像 發(fā)表于 03-04 14:53 ?1091次閱讀