[發(fā)明專利]一種基于TensorFlow框架的數(shù)據(jù)并行優(yōu)化方法在審
| 申請?zhí)枺?/td> | 202010640428.8 | 申請日: | 2020-07-06 |
| 公開(公告)號: | CN111985609A | 公開(公告)日: | 2020-11-24 |
| 發(fā)明(設(shè)計(jì))人: | 田文洪;謝遠(yuǎn)倫;馬霆松 | 申請(專利權(quán))人: | 電子科技大學(xué) |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 tensorflow 框架 數(shù)據(jù) 并行 優(yōu)化 方法 | ||
1.一種基于TensorFlow框架的數(shù)據(jù)并行優(yōu)化方法,其特征在于,
在TensorFlow的數(shù)據(jù)并行中加入時(shí)間并行特征,實(shí)現(xiàn)算法以流水線執(zhí)行方式取代原本的線形執(zhí)行模式,在流水線形式的算法設(shè)計(jì)包含Server端算法和Client端算法兩個(gè)部分。
2.根據(jù)權(quán)利要求1所述的一種基于TensorFlow框架的數(shù)據(jù)并行優(yōu)化方法,其特征在于,所述的Server端算法負(fù)責(zé)接收Client端傳來的第t次迭代時(shí)第l層的參數(shù)更新,不必等到本次迭代時(shí)整個(gè)網(wǎng)絡(luò)的參數(shù)更新都被接收;
Server端負(fù)責(zé)接收Client端傳來的第t次迭代時(shí)第l層的參數(shù)更新,不必等到本次迭代時(shí)整個(gè)網(wǎng)絡(luò)的參數(shù)更新都被接收,在同步模式下需要等到每個(gè)Client傳來第l層的參數(shù)更新,Server端才可以據(jù)此對第l層的參數(shù)上執(zhí)行參數(shù)更新(通常情況下是將此參數(shù)更新值乘上一個(gè)學(xué)習(xí)率再應(yīng)用到舊的參數(shù)上),然后將新得到的參數(shù)以廣播的行式發(fā)送給全部Client端,這就完成了第t次迭代,待到迭代次數(shù)達(dá)到最大迭代次數(shù)T時(shí),程序便可以將當(dāng)前的參數(shù)值保存到文件作為訓(xùn)練完成的模型;Server端算法在TensorFlow框架平臺上的具體實(shí)現(xiàn)過程主要包括:
1).構(gòu)建TensorFlow網(wǎng)絡(luò)模型;
2).創(chuàng)建TensorFlow會話;
3).TensorFlow各種變量初始化;
4).接收Client端傳來的第t次迭代時(shí)第l層的參數(shù)更新;
5).對第l層的參數(shù)上執(zhí)行參數(shù)更新(執(zhí)行process函數(shù)),此時(shí)完成第t次迭代;
6).當(dāng)?shù)螖?shù)進(jìn)行到最大設(shè)置迭代數(shù)時(shí),停止迭代過程;
7).迭代執(zhí)行完畢后保存模型(包括模型當(dāng)前的各種變量參數(shù));
8).關(guān)閉會話。
3.根據(jù)權(quán)利要求1所述的一種基于TensorFlow框架的數(shù)據(jù)并行優(yōu)化方法,其特征在于,所述的Client端算法,首先從本地讀取訓(xùn)練數(shù)據(jù)分片,然后開始執(zhí)行迭代,每次迭代中,Client首先從Server處接收整個(gè)網(wǎng)絡(luò)的參數(shù),然后進(jìn)行前向傳遞;客戶端啟動之后,首先從本地讀取訓(xùn)練數(shù)據(jù)分片,然后開始執(zhí)行迭代,每次迭代中,Client首先從Server處接收整個(gè)網(wǎng)絡(luò)的參數(shù),然后進(jìn)行前向傳遞。前向傳遞完成之后,Client按計(jì)算圖從后往前反向傳導(dǎo),每完成一層網(wǎng)絡(luò)的傳導(dǎo),便將計(jì)算得到的參數(shù)更新值(梯度)發(fā)送給服務(wù)器。當(dāng)計(jì)算圖的最前一層參數(shù)更新值傳遞發(fā)送完成后,Client就將進(jìn)入下一次迭代了。待到迭代次數(shù)達(dá)到最大迭代次數(shù)T時(shí),程序便釋放資源,結(jié)束執(zhí)行;Client端算法在TensorFlow框架平臺上的具體實(shí)現(xiàn)過程主要包括:
1).構(gòu)建TensorFlow網(wǎng)絡(luò)模型;
2).創(chuàng)建TensorFlow會話;
3).TensorFlow各種變量初始化;
4).加載數(shù)據(jù)集進(jìn)入之前構(gòu)建的網(wǎng)絡(luò);
5).接收來自Server處的整個(gè)網(wǎng)絡(luò)的參數(shù);
6).執(zhí)行前向傳播過程;
7).前向傳播過程結(jié)束;
8).根據(jù)計(jì)算圖執(zhí)行反向傳導(dǎo)過程,計(jì)算參數(shù)更新值;
9).將參數(shù)更新值發(fā)送給server端,此時(shí)完成第t次迭代;
10).當(dāng)?shù)螖?shù)進(jìn)行到最大設(shè)置迭代數(shù)時(shí),停止迭代過程;
11).迭代執(zhí)行完畢后關(guān)閉會話。
4.根據(jù)權(quán)利要求1-3所述基于TensorFlow框架的數(shù)據(jù)并行優(yōu)化方法,其特征在于,所述優(yōu)化算法通過更新TensorFlow原生函數(shù)的內(nèi)部實(shí)現(xiàn),將深度模型數(shù)據(jù)并行迭代過程中的參數(shù)計(jì)算和參數(shù)同步兩個(gè)階段內(nèi)部由順序執(zhí)行替換為流水線形式執(zhí)行;將計(jì)算階段和參數(shù)同步階段在時(shí)間上并行,從而隱藏網(wǎng)絡(luò)傳輸所帶來的時(shí)間損耗。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,將計(jì)算階段和參數(shù)同步階段在時(shí)間上并行;具體地,在后向傳導(dǎo)的過程中,當(dāng)?shù)趌層完成梯度計(jì)算后,會將計(jì)算結(jié)果輸出到第l-1層,第l-1層則開始計(jì)算,此時(shí),第l層的參數(shù)同步與第l-1層的計(jì)算無關(guān),并且與其他層的參數(shù)同步也無關(guān),所以,可以在第l-1層計(jì)算的同時(shí)完成第l層的參數(shù)同步,從而實(shí)現(xiàn)流水線的工作形式。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于電子科技大學(xué),未經(jīng)電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010640428.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于tensorflow的數(shù)據(jù)處理方法及終端、差分定位平臺
- 一種用于深度學(xué)習(xí)的資源管理系統(tǒng)及方法
- 一種將TensorFlow模型部署到移動端運(yùn)行的方法、移動端及介質(zhì)
- 一種智子模型的協(xié)同運(yùn)算系統(tǒng)
- 一種TensorFlow的FPGA異構(gòu)加速實(shí)現(xiàn)方法、系統(tǒng)、終端及存儲介質(zhì)
- 一種在TensorFlow中支持FPGA訓(xùn)練的方法和裝置
- 一種數(shù)據(jù)處理方法、裝置、設(shè)備及存儲介質(zhì)
- 模型部署方法、服務(wù)器和計(jì)算機(jī)可讀存儲介質(zhì)
- 基于TensorFlow的自定義類型實(shí)現(xiàn)方法和裝置
- 一種基于Tensorflow Serving的模型部署方法及設(shè)備、介質(zhì)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





