最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

將TensorFlow模型快速遷移到昇騰平臺(tái)

2023-03-15 17:54 作者:昇騰Ascend  | 我要投稿

當(dāng)前業(yè)界很多訓(xùn)練腳本是基于TensorFlow的Python API進(jìn)行開發(fā)的,默認(rèn)運(yùn)行在CPU/GPU/TPU上,為了使這些腳本能夠利用昇騰AI處理器的強(qiáng)大算力執(zhí)行訓(xùn)練,需要對(duì)TensorFlow的訓(xùn)練腳本進(jìn)行遷移。

首先,我們了解下模型遷移的全流程:

%E5%9B%BE%E7%89%871.png

通過(guò)上圖可以看出,模型遷移包括“腳本遷移?–> 模型訓(xùn)練?–> 精度調(diào)優(yōu)?–> 性能調(diào)優(yōu)?–> 模型固化”幾個(gè)流程,其中:

  1. “腳本遷移”是將TensorFlow訓(xùn)練腳本經(jīng)過(guò)少量修改,可以運(yùn)行在昇騰AI處理器上。

  2. “模型訓(xùn)練”是根據(jù)模型參數(shù)進(jìn)行多輪次的訓(xùn)練迭代,并在訓(xùn)練過(guò)程中評(píng)估模型準(zhǔn)確度,達(dá)到一定閾值后停止訓(xùn)練,并保存訓(xùn)練好的模型。

  3. “精度調(diào)優(yōu)”與“性能調(diào)優(yōu)”是在用戶對(duì)精度或性能有要求時(shí)需要執(zhí)行的操作。

  4. “模型固化”是將訓(xùn)練好的、精度性能達(dá)標(biāo)的模型固化為pb模型。

下面我們針對(duì)“腳本遷移”和“模型訓(xùn)練”兩個(gè)階段進(jìn)行詳細(xì)的介紹。

腳本遷移

將TensorFlow訓(xùn)練腳本遷移到昇騰平臺(tái)有自動(dòng)遷移和手工遷移兩種方式。

  1. 自動(dòng)遷移:算法工程師通過(guò)遷移工具,可自動(dòng)分析出原生的TensorFlow Python API在昇騰AI處理器上的支持度情況,同時(shí)將原生的TensorFlow訓(xùn)練腳本自動(dòng)遷移成昇騰AI處理器支持的腳本,對(duì)于少量無(wú)法自動(dòng)遷移的API,可以參考工具輸出的遷移報(bào)告,對(duì)訓(xùn)練腳本進(jìn)行相應(yīng)的適配修改。

  2. 手工遷移:算法工程師需要參考文檔人工分析TensorFlow訓(xùn)練腳本的API支持度,并進(jìn)行相應(yīng)API的修改,以支持在昇騰AI處理器上執(zhí)行訓(xùn)練,該種方式相對(duì)復(fù)雜,建議優(yōu)先使用自動(dòng)遷移方式。

下面以TensorFlow 1.15的訓(xùn)練腳本為例,講述訓(xùn)練腳本的詳細(xì)遷移操作,TensorFlow 2.6的遷移操作類似,詳細(xì)的遷移點(diǎn)可參見(jiàn)“昇騰文檔中心[1]”。

自動(dòng)遷移

自動(dòng)遷移的流程示意圖如下所示:

%E5%9B%BE%E7%89%872.png

詳細(xì)步驟如下;

1. 安裝遷移工具依賴。

2. 執(zhí)行自動(dòng)遷移命令。

進(jìn)入遷移工具所在目錄,例如“tfplugin安裝目錄/tfplugin/latest/python/site-packages/npu_bridge/convert_tf2npu/”,執(zhí)行類似如下命令可同時(shí)完成腳本掃描和自動(dòng)遷移:

其中main.py是遷移工具入口腳本,-i指定待遷移原始腳本路徑,-r指定遷移報(bào)告存儲(chǔ)路徑。

3. 查看遷移報(bào)告。

在/root/models/official/output_npu_*下查看遷移后的腳本,在root/models/official/report_npu_*下查看遷移報(bào)告。

遷移報(bào)告示例如下:

%E5%9B%BE%E7%89%873.png

手工遷移

手工遷移訓(xùn)練腳本主要包括如下遷移點(diǎn):

1. 導(dǎo)入NPU庫(kù)文件。

2. 將部分TensorFlow接口遷移成NPU接口。

例如,修改基于Horovod開發(fā)的分布式訓(xùn)練腳本,使能昇騰AI處理器的分布式訓(xùn)練。

修改后:

3. 通過(guò)配置關(guān)閉TensorFlow與NPU沖突的功能。

關(guān)閉TensorFlow中的remapping、xla等功能,避免與NPU中相關(guān)功能沖突。例如:

4. 配置NPU相關(guān)參數(shù)

Ascend平臺(tái)提供了功能調(diào)試、性能/精度調(diào)優(yōu)等功能,用戶可通過(guò)配置使能相關(guān)功能,例如enable_dump_debug配置,支持以下取值:

  • True:開啟溢出檢測(cè)功能。

  • False:關(guān)閉溢出檢測(cè)功能。

配置示例:

模型訓(xùn)練

遷移成功后的腳本可在昇騰AI處理器上執(zhí)行單Device訓(xùn)練,也可以在多個(gè)Device上執(zhí)行分布式訓(xùn)練。

  • 單Device訓(xùn)練

1)配置訓(xùn)練進(jìn)程啟動(dòng)依賴的環(huán)境變量。

2)執(zhí)行訓(xùn)練腳本拉起訓(xùn)練進(jìn)程。

  • 分布式訓(xùn)練

分布式訓(xùn)練需要先配置參與訓(xùn)練的昇騰AI處理器的資源信息,然后再拉起訓(xùn)練進(jìn)程。當(dāng)前有兩種配置資源信息的方式:通過(guò)配置文件(即ranktable文件)或者通過(guò)環(huán)境變量的方式。下面以配置文件的方式介紹分布式訓(xùn)練的操作。

1)準(zhǔn)備配置文件。

配置文件(即ranktable文件)為json格式,示例如下:

2)執(zhí)行分布式訓(xùn)練。

依次設(shè)置環(huán)境變量配置集群參數(shù),并拉起訓(xùn)練進(jìn)程。

拉起訓(xùn)練進(jìn)程0:

拉起訓(xùn)練進(jìn)程1:

以上就是TensorFlow模型遷移訓(xùn)練的相關(guān)知識(shí)點(diǎn),您也可以在“昇騰社區(qū)在線課程[2]”板塊學(xué)習(xí)視頻課程,學(xué)習(xí)過(guò)程中的任何疑問(wèn),都可以在“昇騰論壇[3]”互動(dòng)交流!

相關(guān)參考:

[1]昇騰文檔中心:https://www.hiascend.com/zh/document

[2]昇騰社區(qū)在線課程:https://www.hiascend.com/zh/edu/courses

[3]昇騰論壇:https://www.hiascend.com/forum


將TensorFlow模型快速遷移到昇騰平臺(tái)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
霸州市| 凤凰县| 莒南县| 鄂伦春自治旗| 惠州市| 梓潼县| 临城县| 宁南县| 昭通市| 常山县| 尉氏县| 唐河县| 柞水县| 东台市| 兴安盟| 肇源县| 汽车| 盈江县| 五华县| 稷山县| 高要市| 沐川县| 镇康县| 甘南县| 乌什县| 嵩明县| 昂仁县| 东光县| 合阳县| 鹰潭市| 弋阳县| 青阳县| 大连市| 漳平市| 黔东| 区。| 成武县| 高淳县| 静海县| 三台县| 林甸县|