华为ModelArts训练Alexnet模型

一、参考资料

ModelArts Web训练

二、关键步骤

2.1 上传源码到obs

.
|-- dataset  # 数据集
|   |-- train
|   `-- val
`-- train
    |-- data.py
    |-- model.py
    `-- train_npu.py  # 启动文件

2.2 obs创建目录

obs目录结构

log:日志存放路径
output:训练输出路径

在这里插入图片描述

2.3 创建算法

算法管理
	---》创建
名称:自定义
描述:自定义
创建方式:自定义
	AI引擎:tensorflow_1.15-cann_5.0.3-py_3.7-euler_2.8.3-aarch64
	代码目录:/xxx/alexnet/train/
	启动文件:/xxx/alexnet/train/train_npu.py
输入数据配置:数据集路径
	映射名称:自定义(默认即可)
	代码路径参数:data_url
输出数据配置:训练输出路径
	映射名称:自定义(默认即可)
	代码路径参数:train_url
其他:默认即可

在这里插入图片描述

2.4 创建训练作业

训练管理
	---》训练作业
		---》创建
名称:自定义
描述:自定义
算法:
	---》我的算法
		---》勾选刚创建的算法
训练输入:
	---》data_url:/xxx/alexnet/dataset/
训练输出:
	---》train_url:/xxx/alexnet/output/
资源池:根据实际需求
资源类型:Ascend
规格:根据实际需求
计算节点个数:根据实际需求
作业日志路径:/xxx/alexnet/log/

在这里插入图片描述

2.5 训练完成

在这里插入图片描述

三、FAQ

Q:The input shape of GeOp5_0 is dynamic

【南京大学】【MEMNET】【ID1085】 模型 npu迁移时报错: The input shape of GeOp5_0 is dynamic

File "/home/ma-user/modelarts/user-job-dir/train/train_npu.py", line 114, in main
    test_loss, test_acc, summary = sess.run([cost, accuracy, summary_op], feed_dict=val_feed)
  File "/home/ma-user/anaconda/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 956, in run
    run_metadata_ptr)
  File "/home/ma-user/anaconda/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1180, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/ma-user/anaconda/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1359, in _do_run
    run_metadata)
  File "/home/ma-user/anaconda/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1384, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InternalError: The input shape of GeOp5_0 is dynamic, please ensure that npu option[dynamic_input] is set correctly, for more details please refer to the migration guide.
	 [[{{node GeOp5_0}}]]
错误原因:
模型训练过程中存在输入shape变化的问题

解决办法:
train_npu.py中添加
custom_op.parameter_map["dynamic_input"].b = True
custom_op.parameter_map["dynamic_graph_execute_mode"].s = tf.compat.as_bytes("lazy_recompile")
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花花少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值