圖像識(shí)別、分布式、推薦系統(tǒng)_第1頁(yè)
圖像識(shí)別、分布式、推薦系統(tǒng)_第2頁(yè)
圖像識(shí)別、分布式、推薦系統(tǒng)_第3頁(yè)
圖像識(shí)別、分布式、推薦系統(tǒng)_第4頁(yè)
圖像識(shí)別、分布式、推薦系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Tensorflow與深度學(xué)習(xí)課程第七天1、CIFAR圖像分類2、分布式會(huì)話函數(shù)3、分布式TensorFlow4、推薦系統(tǒng)CIFAR圖片分類CIFAR圖片分類設(shè)計(jì)cifar_data.py 讀取圖片數(shù)據(jù)cifar_model.py

建立神經(jīng)網(wǎng)絡(luò)模型cifar_train.py 訓(xùn)練模型分布式會(huì)話APIMonitoredTrainingSession(master=‘’,is_chief=True,checkpoint_dir=None,

hooks=None,save_checkpoint_secs=600,save_summaries_steps=USE_DEFAULT,

save_summaries_secs=USE_DEFAULT,config=None)分布式會(huì)話函數(shù)master:指定運(yùn)行會(huì)話協(xié)議IP和端口(用于分布式) “grpc://:2000”is_chief是否為主worker(用于分布式)

如果True,它將負(fù)責(zé)初始化和恢復(fù)基礎(chǔ)的TensorFlow會(huì)話。如果False,它將等待一位負(fù)責(zé)人初始化或恢復(fù)TensorFlow會(huì)話。checkpoint_dir:檢查點(diǎn)文件目錄,同時(shí)也是events目錄config:會(huì)話運(yùn)行的配置項(xiàng),tf.ConfigProto(log_device_placement=True)hooks:可選SessionRunHook對(duì)象列表should_stop():是否異常停止run():跟session一樣可以運(yùn)行ophookstf.train.SessionRunHookHooktoextendcallstoMonitoredSession.run()1、begin():在會(huì)話之前,做初始化工作2、before_run(run_context)

在每次調(diào)用run()之前調(diào)用,以添加run()中的參數(shù)。ARGS:run_context:一個(gè)SessionRunContext對(duì)象,包含會(huì)話運(yùn)行信息return:一個(gè)SessionRunArgs對(duì)象,例如:tf.train.SessionRunArgs(loss)3、after_run(run_context,run_values)

在每次調(diào)用run()后調(diào)用,一般用于運(yùn)行之后的結(jié)果處理該run_values參數(shù)包含所請(qǐng)求的操作/張量的結(jié)果

before_run()。該run_context參數(shù)是相同的一個(gè)發(fā)送到before_run呼叫。

ARGS:run_context:一個(gè)SessionRunContext對(duì)象run_values一個(gè)SessionRunValues對(duì)象,

run_values.results注:再添加鉤子類的時(shí)候,繼承SessionRunHook常用鉤子tf.train.StopAtStepHook(last_step=5000)指定執(zhí)行的訓(xùn)練輪數(shù)也就是max_step,超過(guò)了就會(huì)拋出異常

tf.train.NanTensorHook(loss)判斷指定Tensor是否為NaN,為NaN則結(jié)束注:在使用鉤子的時(shí)候需要定義一個(gè)全局步數(shù):global_step=tf.contrib.framework.get_or_create_global_step()分布式Tensorflow分布式Tensorflow是由高性能的gRPC框架作為底層技術(shù)來(lái)支持的。這是一個(gè)通信框架gRPC(googleremoteprocedurecall),是一個(gè)高性能、跨平臺(tái)的RPC框架。RPC協(xié)議,即遠(yuǎn)程過(guò)程調(diào)用協(xié)議,是指通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù)。分布式原理單機(jī)多卡+多機(jī)多卡(分布式)+多機(jī)多卡分布式的架構(gòu)集群參數(shù)作業(yè)(parameter

job)任務(wù)1任務(wù)2工作作業(yè)(worker

job)任務(wù)1任務(wù)2注:參數(shù)作業(yè)所在的服務(wù)器稱為參數(shù)服務(wù)器(parameter

server),負(fù)責(zé)管理參數(shù)的存儲(chǔ)和更新;工作節(jié)點(diǎn)的服務(wù)器主要從事計(jì)算的任務(wù),如運(yùn)行操作,worker節(jié)點(diǎn)中需要一個(gè)主節(jié)點(diǎn)來(lái)進(jìn)行會(huì)話初始化,創(chuàng)建文件等操作,其他節(jié)點(diǎn)等待進(jìn)行計(jì)算分布式的模式分布式API1、創(chuàng)建一個(gè)tf.train.ClusterSpec,用于對(duì)集群中的所有任務(wù)進(jìn)行描述,該描述內(nèi)容對(duì)所有任務(wù)應(yīng)該是相同的2、創(chuàng)建一個(gè)tf.train.Server,用于創(chuàng)建一個(gè)任務(wù)(ps,worker),并運(yùn)行相應(yīng)作業(yè)上的計(jì)算任務(wù)。cluster=tf.train.ClusterSpec({“worker”:[“:2222”,

/job:worker/task:0

“:2222”,

/job:worker/task:1

“:2222”],

/job:worker/task:2

"ps":[“:2222”,

/job:ps/task:0

“:2222”]

/job:ps/task:1})1、cluster=tf.train.ClusterSpec({"ps":ps_spec,"worker":worker_spec})1、創(chuàng)建集群2、創(chuàng)建服務(wù)tf.train.Server(server_or_cluster_def,job_name=None,task_index=None,protocol=None,config=None,start=True)創(chuàng)建服務(wù)(ps,worker)server_or_cluster_def:集群描述job_name:任務(wù)類型名稱task_index:任務(wù)數(shù)attribute:target返回tf.Session連接到此服務(wù)器的目標(biāo)method:join()參數(shù)服務(wù)器端,直到服務(wù)器等待接受參數(shù)任務(wù)關(guān)閉3、工作節(jié)點(diǎn)指定設(shè)備運(yùn)行tf.device(device_name_or_function)選擇指定設(shè)備或者設(shè)備函數(shù)if

device_name:指定設(shè)備例如:"/job:worker/task:0/cpu:0”if

function:tf.train.replica_device_setter(worker_device=worker_device,cluster=cluster)作用:通過(guò)此函數(shù)協(xié)調(diào)不同設(shè)備上的初始化操作worker_device:為指定設(shè)備,“/job:worker/task:0/cpu:0”

or"/job:worker/task:0/gpu:0"cluster:集群描述對(duì)象注:使用with

tf.device(),使不同工作節(jié)點(diǎn)工作在不同的設(shè)備上分布式案例1、創(chuàng)建集群對(duì)象2、創(chuàng)建服務(wù)3、服務(wù)端等待接受參數(shù)4、客戶端使用不同設(shè)備進(jìn)行定義模型以進(jìn)行計(jì)算5、使用高級(jí)會(huì)話類作業(yè):將圖片識(shí)別的程序改成分布式推薦系統(tǒng)1、推薦系統(tǒng)的背景2、推薦系統(tǒng)的意義3、推薦系統(tǒng)原理介紹4、推薦系統(tǒng)應(yīng)用生活中無(wú)時(shí)無(wú)刻都在使用著推薦系統(tǒng)推薦系統(tǒng)的意義互聯(lián)網(wǎng)時(shí)代的信息量過(guò)載:視頻網(wǎng)站每天都會(huì)有上萬(wàn)小時(shí)的視頻上傳購(gòu)物網(wǎng)站每天上架百萬(wàn)商品每天大概數(shù)以萬(wàn)計(jì)的新聞報(bào)道解決信息過(guò)載搜索引擎時(shí)代分類導(dǎo)航

雅虎搜索

谷歌、百度個(gè)性化時(shí)代(提高用戶粘度、增加營(yíng)收)系統(tǒng)自動(dòng)推薦相關(guān)的東西

今日頭條、豆瓣、電商如何去給你的網(wǎng)站用戶推薦?推薦的依據(jù):用戶的歷史行為用戶的興趣點(diǎn)社交關(guān)系…推薦系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)處理與模型學(xué)習(xí)推薦模型推薦給用戶推薦系統(tǒng)的原理1、推薦系統(tǒng)的分類2、基于物品的協(xié)同過(guò)濾分析3、改進(jìn)的協(xié)同過(guò)濾-隱語(yǔ)義模型4、推薦系統(tǒng)開(kāi)源庫(kù)推薦系統(tǒng)的分類基于內(nèi)容的推薦:1、推薦系統(tǒng)最初使用的最廣泛的推薦機(jī)制2、根據(jù)推薦物品或內(nèi)容的元數(shù)據(jù)特征,發(fā)現(xiàn)物品或者內(nèi)容的相關(guān)性,然后進(jìn)行推薦相似的物品(tf-idf權(quán)重)3、物品通過(guò)內(nèi)容比較關(guān)聯(lián):

電影題材:愛(ài)情片/動(dòng)作片/科幻片/驚悚片

電影人物:范迪塞爾/保羅/吳京

電影時(shí)間:2017/7/7…4、優(yōu)缺點(diǎn):物品相似度的分析僅僅依賴于物品本身的特征,這里沒(méi)有考慮人對(duì)物品的態(tài)度基于協(xié)同過(guò)濾的推薦(CFCollaborationFilter)基于用戶的協(xié)同過(guò)濾(UserCF)計(jì)算用戶的相似度,推薦相似用戶的喜好

基于物品的協(xié)同過(guò)濾(ItemCF重點(diǎn))

計(jì)算物品的相似度,推薦相似度高的物品(不同于基于內(nèi)容的推薦)

推薦系統(tǒng)的分類基于用戶的協(xié)同過(guò)濾0.60.450.80.3基于物品的協(xié)同過(guò)濾基于物品的協(xié)同過(guò)濾分析步驟:(1)計(jì)算物品之間的相似度(2)計(jì)算被推薦物品的興趣度(評(píng)分)(3)根據(jù)物品的相似度和用戶的歷史行為給用戶生成推薦列表用戶電影打分表user/moviem1m2m3m4m5A243B15C324D321.相似度計(jì)算公式

對(duì)于用戶A來(lái)說(shuō):對(duì)于用戶B來(lái)說(shuō)對(duì)于用戶C來(lái)說(shuō)對(duì)于用戶D來(lái)說(shuō)合并四個(gè)矩陣,得出一個(gè)總矩陣:計(jì)算相似度為:

2.計(jì)算用戶對(duì)未看過(guò)電影興趣度

ItemCF與UserCF的綜合對(duì)比公司算法用途DiggUserCF個(gè)性化網(wǎng)絡(luò)文章推薦GroupLensUserCF個(gè)性化新聞推薦NetFlixItemCF電影推薦AmazonItemCF購(gòu)物推薦豆瓣ItemCF電影、書(shū)籍推薦為什么新聞推薦使用UserCF算法,而購(gòu)物網(wǎng)站使用ItemCF算法?

UserCF算法的推薦結(jié)果著重于反映那些與目標(biāo)用戶興趣相似的小群體的熱點(diǎn),而ItemCF算法的推薦結(jié)果著重于維護(hù)目標(biāo)用戶的歷史興趣。換句話說(shuō),UserCF的推薦更加社會(huì)化,而ItemCF的推薦更加個(gè)性化。越是熱門的類,其類內(nèi)物品的相似度越大。除此之外,不同領(lǐng)域的最熱門物品之間的相似度往往也是很高的ItemCF的缺點(diǎn)改進(jìn)的協(xié)同過(guò)濾-隱語(yǔ)義模型目的:用戶評(píng)分矩陣中,有很多位置空著的,希望能夠正確填滿未打分的項(xiàng)目主要思想:找到隱藏因子,可以對(duì)user和item進(jìn)行關(guān)聯(lián)隱因子矩陣分解

損失函數(shù)最小化求解

隱語(yǔ)義模型與ItemCF、UserCF對(duì)比理論基礎(chǔ)隱語(yǔ)義模型有較好的理論基礎(chǔ),后兩種是一種基于統(tǒng)計(jì)的方法,沒(méi)有學(xué)習(xí)過(guò)程計(jì)算復(fù)雜度隱語(yǔ)義模型時(shí)間復(fù)雜度高于后兩者,主要是需要多次迭代在線實(shí)時(shí)推薦隱語(yǔ)義模型不能在線實(shí)時(shí)推薦,需要線下計(jì)算好推薦解釋ItemCF、UserCF有較好的推薦解釋,利用用戶的歷史行為來(lái)解釋推薦結(jié)果而隱語(yǔ)義模型它的隱類能夠代表一類興趣或者物品,卻很難用自然語(yǔ)言描述并生成解釋展現(xiàn)給用戶推薦系統(tǒng)開(kāi)源庫(kù)LibFMLibFM是專門用于矩陣分解的利器Python-recsys一個(gè)非常輕量級(jí)的開(kāi)源推薦系統(tǒng),Python-recsys主要實(shí)現(xiàn)了SVD、NeighborhoodSVD推薦算法(python2)CrabCrab是基于Python開(kāi)發(fā)的開(kāi)源推薦軟件,其中實(shí)現(xiàn)有item和user的協(xié)同過(guò)濾,只支持python2pyspark目前使用比較廣泛的機(jī)器學(xué)習(xí)庫(kù),集成了推薦系統(tǒng)(python2)python-recsys安裝(python2)1、安裝依賴項(xiàng): pipinstallcsc-pysparse pipinstallnetworkx pipinstalldivisi22、源碼安裝python-recsystarxvfzpython-recsys.tar.gzcdpython-recsys#為了不影響外面環(huán)境,在虛擬環(huán)境中運(yùn)行pythonsetup.pyinstall推薦系統(tǒng)應(yīng)用電影推薦數(shù)據(jù)集

MovieLens6M數(shù)據(jù)集6000名用戶對(duì)4000部電影的100萬(wàn)條評(píng)分?jǐn)?shù)據(jù)分為三部分:電影信息,用戶信息,打分信息每位用戶至少評(píng)判20場(chǎng)電影id,電影名稱,電影類型id,性別,年齡,職業(yè)用戶id,電影id,評(píng)分,時(shí)間戳python-recsys-----矩陣分解APIrecsys.algorithm.factorize.SVDSVD分析recsys.algorithm.factorize.SVD()矩陣分解法推薦method:load_data(filename=,sep=,format=):加載文件數(shù)據(jù)1、filename文件名2、sep分割的字符,3、format為字典,矩陣的value,row,col指定為文件中的第幾列,還有ids指定數(shù)據(jù)類型set_data(train):直接輸入獲取的數(shù)據(jù),SVD沒(méi)有加載文件時(shí)候compute(k=,min_values=10,post_normalize=None,savefile=):計(jì)算評(píng)分矩陣1、K為隱因子數(shù)量,默認(rèn)1002、min_values為某物品評(píng)分用戶數(shù)量少于10個(gè)的直接刪除3、post_normalize:數(shù)據(jù)前進(jìn)行歸一化4、savefile:文件的名字movielens,例如movielens.zipsimilarity(item1,item2):計(jì)算兩個(gè)物品相似度similar(item):獲得默認(rèn)10個(gè)相近的物品recommend(userid,is_row=False):推薦給某用戶的指定數(shù)量的物品或者為某物品沒(méi)有打過(guò)分的用戶打分前10名,is_row為True則id為數(shù)據(jù)格式中的row的id,predict(itemid,userid):返回預(yù)測(cè)某用戶對(duì)物品的評(píng)分get_matrix().value(ITEMID,USERID)獲取評(píng)分矩陣中的值load_model(filename):加載本地模型,模型加載無(wú)需訓(xùn)練save_model(filename):保存模型到本地,zip格式案例分析1、加載數(shù)據(jù)2、計(jì)算評(píng)分矩陣(compute)3、推薦指定用戶物品4、推薦評(píng)估(Data、RMSE)python-recsys-----數(shù)據(jù)APIrecsys.datamodel.data.D

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論