一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲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 ? 來(lái)源: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)圖,一般來(lái)講,一個(gè)完整的推薦系統(tǒng)企業(yè)級(jí)的架構(gòu)應(yīng)該包括數(shù)據(jù)的存儲(chǔ)、業(yè)務(wù)模型、服務(wù)層以及上層對(duì)于用戶來(lái)講可見的 App 或者一些其他可視化是產(chǎn)品。

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

對(duì)于數(shù)據(jù)存儲(chǔ)來(lái)講,幾乎是每一個(gè)完整的推薦系統(tǒng)必不可少的一個(gè)部分,所有的用戶數(shù)據(jù)、候選內(nèi)容的所有的信息、日志系統(tǒng)以及緩存等,全都屬于數(shù)據(jù)存儲(chǔ)的一部分,后續(xù)我們要做的與用戶相關(guān)的畫像、內(nèi)容畫像以及其他需要提取的特征信息也全都來(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ǔ)用戶信息的關(guān)系型數(shù)據(jù)庫(kù)、用戶存儲(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)從用戶進(jìn)入到我們的系統(tǒng)的時(shí)候,推薦系統(tǒng)就已經(jīng)在發(fā)揮作用了。首先,我們會(huì)將用戶的數(shù)據(jù)通過(guò)各種數(shù)據(jù)處理、深度學(xué)習(xí)或者機(jī)器學(xué)習(xí)的方法進(jìn)行數(shù)據(jù)的處理,這一部分的處理一般包括類似于用戶日志采集,分詞、內(nèi)容畫像、用戶畫像等,這里可用使用大量的深度學(xué)習(xí)方式來(lái)做。

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

目前來(lái)講,無(wú)論是數(shù)據(jù)邏輯、召回層還是排序?qū)?,都可以使用很多深度學(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)換的類型錯(cuò)誤

pb 模型轉(zhuǎn)換的類型錯(cuò)誤是大部分 TensorFlow 開發(fā)人員常見的錯(cuò)誤之一,一般來(lái)講,TensorFlow 可以轉(zhuǎn)換的 pb 文件大致可以分成兩種,一種是直接轉(zhuǎn)換成一個(gè) pb 文件,這種文件只是一個(gè)以模型名稱命名,以 .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 種大類別的 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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1807

    文章

    49029

    瀏覽量

    249582

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

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

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

    智能通信網(wǎng)絡(luò)設(shè)計(jì)引擎:VDE Cloud未來(lái)汽車網(wǎng)絡(luò)研發(fā)

    VDE Cloud 作為一款基于B/S架構(gòu)的車載總線通信數(shù)據(jù)庫(kù)設(shè)計(jì)和管理系統(tǒng),為汽車智能通信網(wǎng)絡(luò)設(shè)計(jì)深度
    的頭像 發(fā)表于 05-13 13:44 ?350次閱讀
    智能通信網(wǎng)絡(luò)設(shè)計(jì)引擎:VDE Cloud<b class='flag-5'>賦</b><b class='flag-5'>能</b>未來(lái)汽車網(wǎng)絡(luò)研發(fā)

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

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

    吉方工控亮相2025海石合作伙伴峰會(huì)

    近日, 在行業(yè)矚目的年度盛事——2025海石合作伙伴峰會(huì)上,吉方工控作為重要合作伙伴受邀出席。
    的頭像 發(fā)表于 03-17 18:06 ?548次閱讀

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

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

    為什么無(wú)法將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

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

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

    HarmonyOS 應(yīng)用開發(fā)套件:鴻蒙原生應(yīng)用開發(fā)的 “神助攻”

    代碼和開發(fā)實(shí)踐等,這些問(wèn)題讓他們的開發(fā)工作容易走彎路。   為幫助開發(fā)者更高效地掌握HarmonyOS應(yīng)用開發(fā)技能,官方推出了HarmonyOS應(yīng)用開發(fā)套件(以下簡(jiǎn)稱“套件”)
    發(fā)表于 02-17 16:37

    導(dǎo)遠(yuǎn)科技產(chǎn)品比亞迪“天神之眼”高階智駕系統(tǒng)

    導(dǎo)遠(yuǎn)科技多款定位產(chǎn)品已在比亞迪旗下多種車型實(shí)現(xiàn)量產(chǎn)交付,“天神之眼”高階智駕系統(tǒng)。
    的頭像 發(fā)表于 02-14 10:13 ?520次閱讀

    全面保護(hù)型半橋功率IC電機(jī)集成逆變器

    電子發(fā)燒友網(wǎng)站提供《全面保護(hù)型半橋功率IC電機(jī)集成逆變器.pdf》資料免費(fèi)下載
    發(fā)表于 01-24 13:55 ?1次下載
    全面保護(hù)型半橋功率IC<b class='flag-5'>賦</b><b class='flag-5'>能</b>電機(jī)集成逆變器

    案例分享2024年多地推進(jìn)智慧智慧燈桿建設(shè),城市更新升級(jí)

    「案例分享」2024年多地推進(jìn)智慧智慧燈桿建設(shè),城市更新升級(jí)
    的頭像 發(fā)表于 01-14 10:41 ?809次閱讀
    案例分享2024年多地推進(jìn)智慧智慧燈桿建設(shè),<b class='flag-5'>賦</b><b class='flag-5'>能</b>城市更新升級(jí)

    未來(lái):智慧園區(qū)管理新篇章

    智慧園區(qū)解決方案是當(dāng)今城市發(fā)展中備受關(guān)注的話題,它代表了科技與管理相結(jié)合的新潮流,旨在提升園區(qū)運(yùn)營(yíng)效率、改善服務(wù)質(zhì)量、提高居民生活品質(zhì)。通過(guò)科技,智慧園區(qū)可以更好地應(yīng)對(duì)挑戰(zhàn)和需求,打造未來(lái)管理
    的頭像 發(fā)表于 11-26 16:45 ?423次閱讀

    海外動(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 ?560次閱讀

    時(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 ?674次閱讀
    時(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 ?663次閱讀
    RK3568 <b class='flag-5'>賦</b><b class='flag-5'>能</b>數(shù)字廣告,推動(dòng)智能化新時(shí)代