范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

一文详解TensorFlow模型迁移及模型训练实操步骤

  本文分享自华为云社区《将TensorFlow模型快速迁移到昇腾平台-云社区-华为云》,作者:昇腾CANN。
  当前业界很多训练脚本是基于TensorFlow的Python API进行开发的,默认运行在CPU/GPU/TPU上,为了使这些脚本能够利用昇腾AI处理器的强大算力执行训练,需要对TensorFlow的训练脚本进行迁移。
  首先,我们了解下模型迁移的全流程:
  通过上图可以看出,模型迁移包括"脚本迁移 –> 模型训练 –> 精度调优 –> 性能调优 –> 模型固化"几个流程,其中:"脚本迁移"是将TensorFlow训练脚本经过少量修改,可以运行在昇腾AI处理器上。"模型训练"是根据模型参数进行多轮次的训练迭代,并在训练过程中评估模型准确度,达到一定阈值后停止训练,并保存训练好的模型。"精度调优"与"性能调优"是在用户对精度或性能有要求时需要执行的操作。"模型固化"是将训练好的、精度性能达标的模型固化为pb模型。
  下面我们针对"脚本迁移"和"模型训练"两个阶段进行详细的介绍。脚本迁移
  将TensorFlow训练脚本迁移到昇腾平台有自动迁移和手工迁移两种方式。自动迁移:算法工程师通过迁移工具,可自动分析出原生的TensorFlow Python API在昇腾AI处理器上的支持度情况,同时将原生的TensorFlow训练脚本自动迁移成昇腾AI处理器支持的脚本,对于少量无法自动迁移的API,可以参考工具输出的迁移报告,对训练脚本进行相应的适配修改。手工迁移:算法工程师需要参考文档人工分析TensorFlow训练脚本的API支持度,并进行相应API的修改,以支持在昇腾AI处理器上执行训练,该种方式相对复杂,建议优先使用自动迁移方式。
  下面以TensorFlow 1.15的训练脚本为例,讲述训练脚本的详细迁移操作,TensorFlow 2.6的迁移操作类似,详细的迁移点可参见"昇腾文档中心[1]"。自动迁移
  自动迁移的流程示意图如下所示:
  详细步骤如下;
  1. 安装迁移工具依赖。pip3 install pandas pip3 install xlrd==1.2.0 pip3 install openpyxl pip3 install tkintertable pip3 install google_pasta
  2. 执行自动迁移命令。
  进入迁移工具所在目录,例如"tfplugin安装目录/tfplugin/latest/python/site-packages/npu_bridge/convert_tf2npu/",执行类似如下命令可同时完成脚本扫描和自动迁移:python3 main.py -i /root/models/official/resnet -r /root/models/official/
  其中main.py是迁移工具入口脚本,-i指定待迁移原始脚本路径,-r指定迁移报告存储路径。
  3. 查看迁移报告。
  在/root/models/official/output_npu_*下查看迁移后的脚本,在root/models/official/report_npu_*下查看迁移报告。
  迁移报告示例如下:
  手工迁移
  手工迁移训练脚本主要包括如下迁移点:
  1. 导入NPU库文件。from npu_bridge.npu_init import *
  2. 将部分TensorFlow接口迁移成NPU接口。
  例如,修改基于Horovod开发的分布式训练脚本,使能昇腾AI处理器的分布式训练。# Add Horovod Distributed Optimizer opt = hvd.DistributedOptimizer(opt) # Add hook to broadcast variables from rank 0 to all other processes during # initialization. hooks = [hvd.BroadcastGlobalVariablesHook(0)]
  修改后:# NPU allreduce # 将hvd.DistributedOptimizer修改为npu_distributed_optimizer_wrapper" opt = npu_distributed_optimizer_wrapper(opt)    # Add hook to broadcast variables from rank 0 to all other processes during initialization. hooks = [NPUBroadcastGlobalVariablesHook(0)]
  3. 通过配置关闭TensorFlow与NPU冲突的功能。
  关闭TensorFlow中的remapping、xla等功能,避免与NPU中相关功能冲突。例如:config = tf.ConfigProto(allow_soft_placement=True) # 显式关闭remapping功能 config.graph_options.rewrite_options.remapping = RewriterConfig.OFF # 显示关闭memory_optimization功能 config.graph_options.rewrite_options.memory_optimization = RewriterConfig.OFF
  4. 配置NPU相关参数
  Ascend平台提供了功能调试、性能/精度调优等功能,用户可通过配置使能相关功能,例如enable_dump_debug配置,支持以下取值:True:开启溢出检测功能。False:关闭溢出检测功能。
  配置示例:custom_op.parameter_map["enable_dump_debug"].b = True模型训练
  迁移成功后的脚本可在昇腾AI处理器上执行单Device训练,也可以在多个Device上执行分布式训练。单Device训练
  1)配置训练进程启动依赖的环境变量。# 配置昇腾软件栈的基础环境变量,包括CANN、TF Adapter依赖的内容。 source /home/HwHiAiUser/Ascend/nnae/set_env.sh  source /home/HwHiAiUser/Ascend/tfplugin/set_env.sh # 添加当前脚本所在路径到PYTHONPATH,例如: export PYTHONPATH="$PYTHONPATH:/root/models" # 训练任务ID,用户自定义,不建议使用以0开始的纯数字 export JOB_ID=10066      # 指定昇腾AI处理器逻辑ID,单P训练也可不配置,默认为0,在0卡执行训练    export ASCEND_DEVICE_ID=0
  2)执行训练脚本拉起训练进程。python3 /home/xxx.py分布式训练
  分布式训练需要先配置参与训练的昇腾AI处理器的资源信息,然后再拉起训练进程。当前有两种配置资源信息的方式:通过配置文件(即ranktable文件)或者通过环境变量的方式。下面以配置文件的方式介绍分布式训练的操作。
  1)准备配置文件。
  配置文件(即ranktable文件)为json格式,示例如下:{ "server_count":"1",  //AI server数目 "server_list": [    {         "device":[   // server中的device列表                        {                         "device_id":"0",                          "device_ip":"192.168.1.8",    // 处理器真实网卡IP                         "rank_id":"0"     // rank的标识,rankID从0开始                         },                         {                          "device_id":"1",                          "device_ip":"192.168.1.9",                           "rank_id":"1"                          }                   ],          "server_id":"10.0.0.10"   //server标识,以点分十进制表示IP字符串     } ], "status":"completed",   // ranktable可用标识,completed为可用 "version":"1.0"         // ranktable模板版本信息,当前必须为"1.0" }
  2)执行分布式训练。
  依次设置环境变量配置集群参数,并拉起训练进程。
  拉起训练进程0:# 配置昇腾软件栈的基础环境变量,包括CANN、TF Adapter依赖的内容。 source /home/HwHiAiUser/Ascend/nnae/set_env.sh  source /home/HwHiAiUser/Ascend/tfplugin/set_env.sh export PYTHONPATH=/home/test:$PYTHONPATH export JOB_ID=10086 export ASCEND_DEVICE_ID=0 # 当前Device在集群中的唯一索引,与资源配置文件中的索引一致 export RANK_ID=0 # 参与分布式训练的Device数量 export RANK_SIZE=2 export RANK_TABLE_FILE=/home/test/rank_table_2p.json python3 /home/xxx.py
  拉起训练进程1:# 配置昇腾软件栈的基础环境变量,包括CANN、TF Adapter依赖的内容。 source /home/HwHiAiUser/Ascend/nnae/set_env.sh  source /home/HwHiAiUser/Ascend/tfplugin/set_env.sh export PYTHONPATH=/home/test:$PYTHONPATH export JOB_ID=10086 export ASCEND_DEVICE_ID=1 # 当前Device在集群中的唯一索引,与资源配置文件中的索引一致 export RANK_ID=1 # 参与分布式训练的Device数量 export RANK_SIZE=2 export RANK_TABLE_FILE=/home/test/rank_table_2p.json python3 /home/xxx.py
  以上就是TensorFlow模型迁移训练的相关知识点,您也可以在"昇腾社区在线课程[2]"板块学习视频课程,学习过程中的任何疑问,都可以在"昇腾论坛[3]"互动交流!相关参考:
  [1]昇腾文档中心:https://www.hiascend.com/zh/document
  [2]昇腾社区在线课程:https://www.hiascend.com/zh/edu/courses
  [3]昇腾论坛:https://www.hiascend.com/forum
  点击下方,第一时间了解华为云新鲜技术~
  华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云
  #华为云开发者联盟#

亚洲球队出线形势两队已出局,日韩命悬一线,沙特袋鼠渺茫北京时间11月30日,世界杯小组赛已经进入到了末轮,亚洲球队的表现有点高开低走的意思,参赛的六支球队中已经有两支被淘汰出局,那就是东道主卡塔尔和伊朗,剩下的四支球队日本,韩国,沙特湖人步行者交易告吹原因出炉,湖人不愿弃2首轮,印城拒绝摆烂从今年休赛期开始,联盟中就有不少涉及湖人的传闻消息。有消息称,湖人希望摆脱拉塞尔威斯布鲁克那份合同并且完成阵容补强,考虑到湖人本赛季至今身陷的困境,这确实会是他们需要做好的事情。过休赛期拿到2亿合同的5位球星赛季表现如何?3人溢价布克打破质疑前言说到单份合同直接达到2亿的历史,还要追溯到2017年夏天,库里与勇士签下了一份5年2。01亿的续约合同,自此NBA史上的第一个两亿合同正式诞生!!同年9月底,威少也紧随其后得到打破世界杯魔咒!亚洲首支出线球队诞生,输14后还能出线是奇迹北京时间11月30日晚,卡塔尔世界杯小组赛第三轮继续进行,D组出线关键之战在丹麦与澳大利亚之间进行,最终双方力拼90分钟澳大利亚队10击败丹麦队后不用看任何人脸色锁定了小组第二晋级交往六年的泫雅和金晓钟以为他们要宣布结婚了,没想到是分手今天下午泫雅发文称我们分手了,以后要成为好朋友和同事,谢谢一直以来对我们的支持和喜欢。他们两个从2016年开始交往,当时已经交往了两年,在不公布难以面对粉丝,于是在2018年官宣。不只奥纳纳,盘点世界杯期间被球队开除的大牌球星世界杯仅仅踢了一轮比赛,喀麦隆门将奥纳纳就因为不满意主教练的要求而被开除出国家队。喀麦隆主教练里戈贝特宋要求他调整比赛风格,让他要在比赛中踢得更保守,但这位国际米兰球星拒绝了主教练一文读懂公有链联盟链私有链2022年4月6日,比特币2022大会在美国佛罗里达州迈阿密市开幕,吸引了3。5万的参与者,其中包括全球众多政府高官金融大鳄和科技行业名人。此次大会无疑体现出了这两年比特币的火爆,三镇输球佩德罗心有不甘场地条件给对手反击机会遗憾自身犯了错中超联赛第28轮,武汉三镇主场23遭长春亚泰绝杀,目前仍以净胜球优势领跑积分榜。纵观整场比赛,尽管武汉三镇占据优势,但戴维森斯坦丘马尔康太过着急,多次与对手发生冲突,影响了全队的进01出局!亚洲第一被淘汰,对手3场才进2球,16强对荷兰凶多吉少2022世界杯在刚刚结束的一场比赛中,美国队10击败伊朗,最终拿到B组第二,成功晋级16强,而伊朗队则遗憾被淘汰,没能顺利晋级淘汰赛。本场比赛,伊朗队只要拿到1分,就能锁定小组第二赢了官司,却输了事业,58岁的朱军到底做错了什么?最近,央视女记者王冰冰的复出引发了网络舆论的热议,话题热度一度盖过了娱乐圈的明星们。4个月前,王冰冰因卷入三角恋风波导致事业停摆,媒体纷纷放出消息称她惨遭央视停职,前途堪忧。然而,(卡塔尔世界杯)足球C组阿根廷胜波兰(3)当日,在卡塔尔多哈974球场进行的2022卡塔尔世界杯足球赛C组比赛中,阿根廷队以2比0战胜波兰队。11月30日,阿根廷队球员梅西在比赛后庆祝。新华社记者曹灿摄11月30日,波兰队
深圳VS珠海,两座城市硬核对碰,看看心中答案是否出了偏差一个老人在南海边划了一个圈,让两个荒芜的小渔村变成了改革开放的先行者,加速创新自由开放让小渔村在经济腾飞上一路高歌猛进。短短四十年,昔日的小渔村变成了深圳珠海两座魅力之城,让世界刮国庆假期武汉周边游之湖北大洪山景区这个国庆假期的旅游行程因为疫情的影响真的一波三折!计划赶不上变化,本来A计划是飞额济纳看胡杨的,后来被疫情打乱了,然后B计划自驾南太行(行李都打包好了,出发前一天晚上那边酒店打电话郑和下西洋去的都是哪些地方郑和下西洋是明朝永乐宣德年间的一场海上远航活动。从永乐三年(公元1405年)至宣德八年(1433年)间,以郑和为代表的使团在海上航行共计七次,途经了30多个国家和地区。郑和下西洋是找个地方,跟你的爱人一起发呆吧像在厦门这样的大城市里,待久了,如果生活缺乏仪式感,很多人就会觉得生活缺乏滋味。因此很多人喜欢户外露营,厦门各大公园随处可见帐篷和泡茶桌椅,比如岛内的东坪山,集美的十里海堤杏林的园最上海旅游指数景区文博等TOP10花落谁家?央广网北京10月11日消息据上海市文化和旅游局消息,日前,上海市旅游节落幕,最上海旅游指数(2022年度)首次发布。通过互联网大数据的方式,把最能够体现上海历史与现代特点的国内外游最不像西北的牡丹之乡,在甘肃原创老艺术家九行Travel说起甘肃,大多数人能想到的,都是大漠孤烟长河落日的画面。敦煌色彩绚烂的飞天壁画,似乎成了这片灰土黄沙中仅有的亮色。以至于说起黄河,脑海里会主动跳出泥沙俱广州市最大的城中村,就在天河区,每年房租收入据说超4亿元这里是刘小顺的旅行和生活研究所。广州是我国四大一线城市之一,这座华南大都市不仅经济发达,而且历史悠久人文底蕴深厚,因此每年都会吸引大量游客前来广州游玩。来过广州旅游的朋友,应该都对上海创新活力持续迸发来源经济日报在上海众多的城市标签中,创新是一张王牌。十年来,上海牢记嘱托,勇担使命,不断在提升创新策源能力上下功夫,在基础研究原始创新科技赋能等众多创新领域成绩斐然。面向世界科技前上海明年起将不再为插电混动车发专用牌照额度,理想汽车或受冲击10月7日,理想汽车(2015。HK)股价大跌,让投资者直呼看不透。当天,理想汽车收盘跌幅达14。75,股价为80。65港元,总市值为1681。21亿元。实际上,近三个多月来理想汽草根明星王二妮我这一生最正确的决定,就是下嫁到农村当媳妇关注我,每天都有感人的名人故事和你分享01hr草根明星王二妮,她有一段让人羡慕又受人议论的爱情和婚姻。为什么说她的爱情和婚姻让人羡慕?因为王二妮嫁给的是自己的初恋,也是和初恋一直相2022年上海VOGUEWorld展览上女明星PK穿搭美金秋最美最靓的时尚活动VOGUE创刊于1892年,是世界上历史悠久的一本综合性时尚生活类杂志,涉及时装化妆美容健康娱乐和艺术等各个方面,被奉为世界的时尚圣典。130年弥足珍贵。此次