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")



