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

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

數(shù)據存儲

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

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

業(yè)務模型

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

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

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

當找到用戶可能感興趣的內容之后,我們一般會對這些內容進行進一步的篩選和排序,找到在這些內容中,用戶最感興趣的前面的幾個或者幾十個內容分別是什么,這一步,一般我們稱之為排序層。

最后,我們可以將排序后的結果輸出給用戶進行界面的展示,從而達到最后的推薦效果。

使用 TensorFlow Serving 賦能

目前來講,無論是數(shù)據邏輯、召回層還是排序層,都可以使用很多深度學習的方法來做。例如數(shù)據邏輯中有關命名實體識別的部分可以使用 TensorFlow 來實現(xiàn),召回層可以使用 TensorFlow 來實現(xiàn) YoutubeDNN 模型并部署到生產環(huán)境中,在排序層我們也可以使用 xDeepFM 等深度學習方法來實現(xiàn)。

那么對于這些深度學習模型來講,最好的模型上線和部署方式莫過于使用 TensorFlow Serving 進行部署了。

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

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

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

1. pb 模型轉換的類型錯誤

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

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

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

2. 在 TensorFlow Serving 中推理的時候沒有加入版本標識

有些同學在使用 TensorFlow Serving 的時候,也能夠轉換成 Saved Model 格式的 pb 文件了,而且在本地驗證也沒有問題了,但是放到 TensorFlow Serving 的相關服務上就會報錯,總是提示找不到版本,一般來講,這種問題是你導出的模型中沒有添加模型的版本號所導致的,我們在 TensorFlow Serving 中進行模型部署的時候,往往都需要在最外層定義一個模型的版本號,而 TensorFlow Serving 也會通過判斷模型的版本號來進行模型的更新。

3. 模型沒有標明正確的輸入輸出

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

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

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

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

max_batch_size { value: 128 }

batch_timeout_micros { value: 0 }

max_enqueued_batches { value: 1000000 }

num_batch_threads { value: 8 }

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

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

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

責任編輯:haq

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

    關注

    8

    文章

    7335

    瀏覽量

    94748
  • 人工智能
    +關注

    關注

    1817

    文章

    50092

    瀏覽量

    265241
  • 模型
    +關注

    關注

    1

    文章

    3751

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    防逆流控制在企業(yè)光儲充電站系統(tǒng)的應用研究

    安科瑞劉鴻鵬 摘要 ? 在企業(yè)光儲充電站,光伏發(fā)電、儲能系統(tǒng)與充電負荷并存運行,功率波動頻繁,系統(tǒng)運行工況復雜。當發(fā)電功率與負荷需求不匹配時,易產生逆向功率向公共電網倒送的問題。為滿
    的頭像 發(fā)表于 01-04 10:51 ?658次閱讀
    防逆流控制在<b class='flag-5'>企業(yè)</b>光儲充電站<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應用研究

    提高系統(tǒng)效率幾個誤解解析

    誤解一:這主頻100M的CPU只能處理70%,換200M主頻的就沒事了 點評:系統(tǒng)的處理能力牽涉到多種多樣的因素,在通信業(yè)務其瓶頸一般都在存儲器上,CPU再快,外部訪問快不起來也是徒勞。 誤解二
    發(fā)表于 12-15 06:09

    FPC基材構成全解析:從絕緣到導電,每一步都至關重要!

    一站式PCBA加工廠家今天為大家講講FPC主要由哪幾個部分組成?FPC的基材構成部分。FPC(柔性電路板)的基材構成主要包括絕緣薄膜、導電層和粘接劑,以下是具體介紹: FPC的基材構成
    的頭像 發(fā)表于 12-01 09:33 ?643次閱讀
    FPC基材構成全解析:從絕緣到導電,每一步都至關重要!

    無質量損失的數(shù)據遷移:Nikon SLM Solutions信賴3Dfindit企業(yè)

    的數(shù)據遷移,并從另外兩個應用獲益:戰(zhàn)略性零部件管理和ECAD集成。作為金屬增材制造集成解決方案的全球供應商,該公司被認為是選區(qū)激光熔化技術的先驅。其創(chuàng)新技術被廣泛應用于各行各業(yè),包括汽車、能源、工具
    發(fā)表于 11-25 10:06

    熱敏電阻哪幾個參數(shù)是比較重要的

    熱敏電阻哪幾個參數(shù)是比較重要的 熱敏電阻全解析:NTC與PTC的特性、參數(shù)與選型指南 熱敏電阻是一種電阻值隨溫度發(fā)生顯著變化的半導體器件,主要分為負溫度系數(shù)(NTC) 和正溫度系數(shù)(PTC
    發(fā)表于 11-04 13:29

    使用rt-thread studio ,配置某對GPIO為串口,比如配置PA0與PA1 為uart1 ;如何操作?

    ,燒錄沒有問題,但是,我不知這個串口,比如是uart1. 是由哪幾個GPIO所配置而成?特請教一下,有文檔看看也可以,感謝
    發(fā)表于 09-11 07:50

    MES - 制造執(zhí)行系統(tǒng)

    制造執(zhí)行系統(tǒng)(MES)是用于控制、監(jiān)測和記錄生產的軟件。它將企業(yè)資源規(guī)劃(ERP)與過程控制系統(tǒng)相結合,實現(xiàn)了透明、高效的生產。 受益于 MES 的行業(yè) MES 在許多行業(yè)都至關重要,包括
    發(fā)表于 09-04 15:36

    鴻蒙系統(tǒng)怎么安裝企業(yè)微信

    系統(tǒng)自帶的應用市場無法下載企業(yè)微信,卓易通的無法用微信登錄,使用不了
    發(fā)表于 08-26 15:43

    TC397哪幾個Nodes支持TT-CAN呢?

    TC397 具有3個modules,每個modules具有4個Nodes,共支持12路CAN。哪幾個Nodes支持TT-CAN呢?支持TT-CAN的Nodes能否用做普通的CAN呢?
    發(fā)表于 07-29 10:38

    MES系統(tǒng)與ERP系統(tǒng)有什么聯(lián)系

    MES系統(tǒng)(制造執(zhí)行系統(tǒng))和ERP系統(tǒng)企業(yè)資源計劃)是制造業(yè)兩類核心的信息化管理工具,二者既有明確分工又緊密關聯(lián),共同構成
    的頭像 發(fā)表于 06-23 10:04 ?1267次閱讀

    三相變壓器主要組成部分有哪些

    三相變壓器的主要組成部分包括以下幾個關鍵部分
    的頭像 發(fā)表于 05-20 13:35 ?1395次閱讀
    三相變壓器主要組成<b class='flag-5'>部分</b>有哪些

    MES系統(tǒng)開發(fā)的質量模塊設計,90%企業(yè)都忽略了這點

    在制造業(yè)數(shù)字化轉型的浪潮,MES(制造執(zhí)行系統(tǒng))作為提升企業(yè)生產效率和質量管理能力的核心工具,正受到越來越多企業(yè)的青睞。然而,在MES系統(tǒng)
    的頭像 發(fā)表于 04-08 14:27 ?740次閱讀
    MES<b class='flag-5'>系統(tǒng)</b>開發(fā)<b class='flag-5'>中</b>的質量模塊設計,90%<b class='flag-5'>企業(yè)</b>都忽略了這點

    NTC溫度傳感器有哪幾個溫度特性

    NTC溫度傳感器是由NTC(負溫度系數(shù))熱敏電阻作為溫感元件組裝而成的溫度傳感器。其溫度特性主要體現(xiàn)在以下幾個方面:
    的頭像 發(fā)表于 04-02 09:46 ?1479次閱讀
    NTC溫度傳感器有<b class='flag-5'>哪幾個</b>溫度特性

    水利大壩安全監(jiān)測有哪幾個方面

    大壩安全監(jiān)測主要是通過相關數(shù)據的采集、分析、評估等步驟實現(xiàn)對大壩的安全監(jiān)測。一般情況下,大壩安全監(jiān)測系統(tǒng)主要由四部分組成,測量傳感器,測量控制單元,網絡通信連接及大壩安全監(jiān)測中心組成。水利大壩主要
    的頭像 發(fā)表于 03-28 10:13 ?1036次閱讀
    水利大壩安全監(jiān)測有<b class='flag-5'>哪幾個</b>方面

    使用rt-thread studio配置某對GPIO為串口,比如配置PA0與PA1 為uart1,如何操作?

    ,燒錄沒有問題,但是,我不知這個串口,比如是uart1. 是由哪幾個GPIO所配置而成?特請教一下,有文檔看看也可以,感謝
    發(fā)表于 03-07 06:52