在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何使用 TensorFlow Serving 賦能

Tensorflowers ? 來(lái)源:TensorFlow ? 作者:黃鴻波 ? 2021-09-24 15:01 ? 次閱讀

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

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

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

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

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

一般來(lái)講,數(shù)據(jù)系統(tǒng)是一個(gè)很大的概念,它不僅限于某一個(gè)數(shù)據(jù)庫(kù),或者某一個(gè)數(shù)據(jù)處理邏輯,而是一整套與數(shù)據(jù)相關(guān)的系統(tǒng),用于存儲(chǔ)用戶(hù)信息的關(guān)系型數(shù)據(jù)庫(kù)、用戶(hù)存儲(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)的效果好壞可以說(shuō) 90% 以上是由于業(yè)務(wù)模型決定的。在一個(gè)推薦系統(tǒng)中,數(shù)據(jù)系統(tǒng)一般包含三個(gè)部分,數(shù)據(jù)邏輯層、召回層和排序?qū)印?/p>

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

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

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

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

使用 TensorFlow Serving 賦能

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

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

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

在我所在的企業(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 上之后就無(wú)法進(jìn)行推理,然后還會(huì)報(bào)各種各樣莫名其妙的錯(cuò)誤。一般來(lái)講,造成這個(gè)問(wèn)題的原因有以下幾種。

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

pb 模型轉(zhuǎn)換的類(lèi)型錯(cuò)誤是大部分 TensorFlow 開(kāi)發(fā)人員常見(jiàn)的錯(cuò)誤之一,一般來(lái)講,TensorFlow 可以轉(zhuǎn)換的 pb 文件大致可以分成兩種,一種是直接轉(zhuǎn)換成一個(gè) pb 文件,這種文件只是一個(gè)以模型名稱(chēng)命名,以 .pb 為格式的單個(gè)文件,這個(gè)文件一般使用在終端的推理中,比如移動(dòng)端的推理,或者是給到 C++ 等語(yǔ)言進(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é)圖文件,它可以更方便的部署。一般來(lái)講,使用 Saved Model 格式進(jìn)行打包之后,除了模型文件本身,會(huì)生成 variables 目錄,其中 pb 文件是模型的定義文件,variables 目錄下存放的是模型的各個(gè)推理所需要的參數(shù)

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

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

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

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

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

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

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

實(shí)際上,如果按照正常的部署方式,沒(méi)有帶任何參數(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ā)的性能。一般來(lái)講,在使用 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 種大類(lèi)別的 docker,一個(gè)是 GPU 的一個(gè)是 CPU 的,這個(gè)在做 docker 部署的時(shí)候一定要注意區(qū)分,否則很容易導(dǎo)致部署之后的性能低;另外,在 TensorFlow Serving 所提供的 docker 中,又可以分為 devel 版本和正常版本,其中 devel 里面帶有一些內(nèi)置的開(kāi)發(fā)環(huán)境,一般用于調(diào)試用,在正式環(huán)境中,我們更建議使用正常的 docker 版本。

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

責(zé)任編輯:haq

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

    關(guān)注

    1796

    文章

    47674

    瀏覽量

    240293

原文標(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)推薦

    海外動(dòng)態(tài)IP:突破地域限制,數(shù)字時(shí)代

    海外動(dòng)態(tài)IP作為一種強(qiáng)大的網(wǎng)絡(luò)工具,正在突破地域限制,數(shù)字時(shí)代,為企業(yè)和個(gè)人提供網(wǎng)絡(luò)自由與便利。
    的頭像 發(fā)表于 11-01 05:55 ?260次閱讀

    時(shí)間頻率設(shè)備 時(shí)鐘同步 機(jī)場(chǎng)系統(tǒng)-安徽京準(zhǔn)

    時(shí)間頻率設(shè)備(時(shí)鐘同步)機(jī)場(chǎng)系統(tǒng)-安徽京準(zhǔn)
    的頭像 發(fā)表于 08-06 14:29 ?382次閱讀
    時(shí)間頻率設(shè)備 時(shí)鐘同步 <b class='flag-5'>賦</b><b class='flag-5'>能</b>機(jī)場(chǎng)系統(tǒng)-安徽京準(zhǔn)

    RK3568 數(shù)字廣告,推動(dòng)智能化新時(shí)代

    RK3568 數(shù)字廣告,推動(dòng)智能化新時(shí)代
    的頭像 發(fā)表于 08-05 14:42 ?409次閱讀
    RK3568 <b class='flag-5'>賦</b><b class='flag-5'>能</b>數(shù)字廣告,推動(dòng)智能化新時(shí)代

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google開(kāi)發(fā)的一個(gè)開(kāi)源深度學(xué)習(xí)框架,它允許開(kāi)發(fā)者方便地構(gòu)建、訓(xùn)練和部署各種復(fù)雜的機(jī)器學(xué)習(xí)模型。TensorFlow憑借其高效的計(jì)算性能、靈活的架構(gòu)以及豐富的工具和庫(kù),在學(xué)
    的頭像 發(fā)表于 07-12 16:38 ?814次閱讀

    請(qǐng)問(wèn)ESP32如何運(yùn)行TensorFlow模型?

    請(qǐng)問(wèn)ESP32如何運(yùn)行TensorFlow模型?
    發(fā)表于 07-09 07:30

    tensorflow和pytorch哪個(gè)更簡(jiǎn)單?

    PyTorch更簡(jiǎn)單。選擇TensorFlow還是PyTorch取決于您的具體需求和偏好。如果您需要一個(gè)易于使用、靈活且具有強(qiáng)大社區(qū)支持的框架,PyTorch可能是一個(gè)更好的選擇。如果您需要一個(gè)在
    的頭像 發(fā)表于 07-05 09:45 ?977次閱讀

    tensorflow和pytorch哪個(gè)好

    tensorflow和pytorch都是非常不錯(cuò)的強(qiáng)大的框架,TensorFlow還是PyTorch哪個(gè)更好取決于您的具體需求,以下是關(guān)于這兩個(gè)框架的一些關(guān)鍵點(diǎn): TensorFlow : 發(fā)布時(shí)間
    的頭像 發(fā)表于 07-05 09:42 ?772次閱讀

    tensorflow簡(jiǎn)單的模型訓(xùn)練

    在本文中,我們將詳細(xì)介紹如何使用TensorFlow進(jìn)行簡(jiǎn)單的模型訓(xùn)練。TensorFlow是一個(gè)開(kāi)源的機(jī)器學(xué)習(xí)庫(kù),廣泛用于各種機(jī)器學(xué)習(xí)任務(wù),包括圖像識(shí)別、自然語(yǔ)言處理等。我們將從安裝
    的頭像 發(fā)表于 07-05 09:38 ?787次閱讀

    keras模型轉(zhuǎn)tensorflow session

    在這篇文章中,我們將討論如何將Keras模型轉(zhuǎn)換為TensorFlow session。 Keras和TensorFlow簡(jiǎn)介 Keras是一個(gè)高級(jí)神經(jīng)網(wǎng)絡(luò)API,它提供了一種簡(jiǎn)單、快速的方式來(lái)構(gòu)建
    的頭像 發(fā)表于 07-05 09:36 ?594次閱讀

    TensorFlow的定義和使用方法

    TensorFlow是一個(gè)由谷歌人工智能團(tuán)隊(duì)谷歌大腦(Google Brain)開(kāi)發(fā)和維護(hù)的開(kāi)源機(jī)器學(xué)習(xí)庫(kù)。它基于數(shù)據(jù)流編程(dataflow programming)的概念,將復(fù)雜的數(shù)學(xué)運(yùn)算表示為
    的頭像 發(fā)表于 07-02 14:14 ?893次閱讀

    【智慧教室】電子時(shí)鐘系統(tǒng)(NTP子母鐘系統(tǒng))科技課堂

    【智慧教室】電子時(shí)鐘系統(tǒng)(NTP子母鐘系統(tǒng))科技課堂
    的頭像 發(fā)表于 05-15 10:03 ?814次閱讀
    【智慧教室】電子時(shí)鐘系統(tǒng)(NTP子母鐘系統(tǒng))科技<b class='flag-5'>賦</b><b class='flag-5'>能</b>課堂

    5G執(zhí)法記錄儀數(shù)字城管智能化

    5G執(zhí)法記錄儀數(shù)字城管智能化
    的頭像 發(fā)表于 04-16 07:08 ?448次閱讀
    5G執(zhí)法記錄儀<b class='flag-5'>賦</b><b class='flag-5'>能</b>數(shù)字城管智能化

    億緯動(dòng)力憑借卓越的技術(shù)實(shí)力與表現(xiàn)榮獲“開(kāi)發(fā)獎(jiǎng)”

    近日,開(kāi)瑞新能源2024年供應(yīng)商年會(huì)在河南開(kāi)封舉行,億緯動(dòng)力憑借卓越的技術(shù)實(shí)力與表現(xiàn)榮獲“開(kāi)發(fā)獎(jiǎng)”,億緯鋰高級(jí)副總裁朱延春受邀出席
    的頭像 發(fā)表于 03-29 10:41 ?473次閱讀

    華為數(shù)據(jù)存儲(chǔ)伙伴六大亮點(diǎn)解讀

    精彩回顧 | 華為數(shù)據(jù)存儲(chǔ)伙伴六大亮點(diǎn)解讀
    的頭像 發(fā)表于 03-28 11:33 ?604次閱讀
    華為數(shù)據(jù)存儲(chǔ)伙伴<b class='flag-5'>賦</b><b class='flag-5'>能</b>六大亮點(diǎn)解讀

    NVIDIA宣布推出NVIDIA Blackwell平臺(tái)以計(jì)算新時(shí)代

    全新 Blackwell GPU、NVLink 和可靠性技術(shù)萬(wàn)億參數(shù)規(guī)模的 AI 模型
    的頭像 發(fā)表于 03-20 09:44 ?680次閱讀
    主站蜘蛛池模板: 伊人狠狠丁香婷婷综合色 | 亚洲欧美精品成人久久91 | 亚洲天堂爱爱 | 久久精品国产免费高清 | 最新色站| 欧美精品1| 久久国产午夜精品理论片34页 | 影院午夜 | 国产片在线 | 免费看av的网址 | 国产拳头交一区二区 | 5x性区m免费毛片视频看看 | 国内久久精品视频 | 亚洲精品蜜桃久久久久久 | 天天操天天弄 | 天天射天天射天天干 | 99久久综合狠狠综合久久男同 | 天天澡天天摸天天添视频 | 国模私拍在线视频 | 俺去俺来也www色官网免费的 | 亚洲乱码一二三四区 | www四虎影视| 四虎免费大片aⅴ入口 | 欧美精品一区二区三区视频 | 下农村女人一级毛片 | 国产美女精品三级在线观看 | 在线播放免费观看 | 椎名空中文字幕一区二区 | 亚洲成a人片在线网站 | 在线天堂资源www中文在线 | 美女拍拍拍黄色 | 黄色三级视频在线观看 | 天堂网www在线资源网 | 色视频在线网站 | 国产三级日产三级日本三级 | 欧美高h | 亚洲视频入口 | 黄色地址 | 老师别揉我胸啊嗯上课呢视频 | 清纯唯美亚洲综合欧美色 | 久久天天躁狠狠躁夜夜 |