tensorflow分布式訓(xùn)練 python訓(xùn)練好的tensorflow模型可否并行多線程在服務(wù)器上運(yùn)行?怎么實(shí)現(xiàn)?
python訓(xùn)練好的tensorflow模型可否并行多線程在服務(wù)器上運(yùn)行?怎么實(shí)現(xiàn)?模型本身只是一組參數(shù)和框架。使用多個(gè)線程運(yùn)行取決于應(yīng)用程序方法,與訓(xùn)練無(wú)關(guān)。如果能夠部署分布式計(jì)算,就可以實(shí)現(xiàn)多線程
python訓(xùn)練好的tensorflow模型可否并行多線程在服務(wù)器上運(yùn)行?怎么實(shí)現(xiàn)?
模型本身只是一組參數(shù)和框架。使用多個(gè)線程運(yùn)行取決于應(yīng)用程序方法,與訓(xùn)練無(wú)關(guān)。如果能夠部署分布式計(jì)算,就可以實(shí)現(xiàn)多線程、多服務(wù)器的分布式計(jì)算。如果我們不能部署它,那就沒(méi)辦法了。
什么叫分布式部署?
分布式體系結(jié)構(gòu)是部署模式之一。分布式體系結(jié)構(gòu)主要用于描述體系結(jié)構(gòu)設(shè)計(jì)。當(dāng)然,現(xiàn)在有各種各樣的新用途。集群是一種硬件部署方式,是部署在機(jī)房?jī)?nèi)的計(jì)算機(jī)組的集中名稱。分布式網(wǎng)站集群系統(tǒng)是一種多網(wǎng)站架構(gòu)模式,支持獨(dú)立網(wǎng)站和多個(gè)網(wǎng)站的生成,完成各網(wǎng)站橫向和縱向集成網(wǎng)站群的構(gòu)建。主站、分站、網(wǎng)站信息共享互聯(lián)。簡(jiǎn)言之:即企業(yè)/個(gè)人可以像申請(qǐng)博客一樣自行建立、維護(hù)和更新網(wǎng)站,而分布式則是分別解決問(wèn)題,即系統(tǒng)分布在多個(gè)不同的服務(wù)器上。
Keras還是TensorFlow,程序員該如何選擇深度學(xué)習(xí)框架?
如果您想用少量代碼盡快構(gòu)建和測(cè)試神經(jīng)網(wǎng)絡(luò),keras是最快的,而且順序API和模型非常強(qiáng)大。而且keras的設(shè)計(jì)非常人性化。以數(shù)據(jù)輸入和輸出為例,與keras的簡(jiǎn)單操作相比,tensorflow編譯碼的構(gòu)造過(guò)程非常復(fù)雜(尤其對(duì)于初學(xué)者來(lái)說(shuō),大量的記憶過(guò)程非常痛苦)。此外,keras將模塊化作為設(shè)計(jì)原則之一,用戶可以根據(jù)自己的需求進(jìn)行組合。如果你只是想快速建立通用模型來(lái)實(shí)現(xiàn)你的想法,keras可以是第一選擇。
但是,包裝后,keras將變得非常不靈活,其速度相對(duì)較慢。如果高度包裝,上述缺點(diǎn)將更加明顯。除了一些對(duì)速度要求較低的工業(yè)應(yīng)用外,由于tensorflow的速度較高,因此會(huì)選擇tensorflow
如果您在驗(yàn)證您的想法時(shí),想定義損失函數(shù)而不是使用現(xiàn)有的設(shè)置,與keras相比,tensorflow提供了更大的個(gè)性空間。此外,對(duì)神經(jīng)網(wǎng)絡(luò)的控制程度將在很大程度上決定對(duì)網(wǎng)絡(luò)的理解和優(yōu)化,而keras提供的權(quán)限很少。相反,tensorflow提供了更多的控制權(quán),比如是否訓(xùn)練其中一個(gè)變量、操作梯度(以獲得訓(xùn)練進(jìn)度)等等。
盡管它們都提供了深度學(xué)習(xí)模型通常需要的功能,但如果用戶仍然追求一些高階功能選擇,例如研究特殊類型的模型,則需要tensorflow。例如,如果您想加快計(jì)算速度,可以使用tensorflow的thread函數(shù)來(lái)實(shí)現(xiàn)與多個(gè)線程的相同會(huì)話。此外,它還提供了調(diào)試器功能,有助于推斷錯(cuò)誤和加快操作速度。