Model Scaffolding 是一个用于搭建MindSpore深度学习模型程序的脚手架。主要提供了以下功能来辅助开发:
ModelScaffolding中使用yaml文件作为基础的参数配置文件。整个yaml文件会在config.py
中被解析成一个python对象,并保留原有的yaml层级结构。
在具体项目中应用时,可以根据情况定义自己的yaml配置文件。
ModelScaffolding使用pyyaml
来解析,从而具体语法可以参yaml1.1标准。Yaml文件除了被解析成配置参数的python对象,还会用于构建一个命令行的参数配置,从而可以直接从命令行设定具体参数。
整个Yaml文件内容可以参考default_config.yaml
文件,文件内被分为3个文档:
yaml配置文件中的较为独立的配置,会被同步解析成命令行的可选参数。较为独立的配置是同时满足以下要求的配置:
所有被解析成参数的对象,可以使用命令行选项--help
来查看。其中会有一个config_path
的保留选项,可以用于指定所依赖的基础配置yaml文件,后续的参数解析工作都会基于此选项指向的yaml配置文件进行解析。
解析过程使用python库argparse
完成,从而一定成都的模糊参数匹配也是支持的,具体情况可以参考argparse
的说明。
ModelScaffolding提供了一些用于完成云上云下统一运行的基础工具包括:
主要提供用于在不同环境下获取device_id
, rank_size
, rank_id
, job_id
之类参数的工具
主要提供基于ModelArts运行的封装工具,主要接口是moxing_warpper
修饰器。将此修饰器修饰在原本的主程序上,从而完成一系列云上运行所特有的准备和收尾工作,包括:
data_url
, train_url
, checkpoint_url
参数从OBS中下载程序运行的必要数据device_id
, device_num
等参数train_url
所指向的OBS路径为了支持云上的运行,在yaml配置文件中,我们通常会有一些保留配置,这些配置尽量保持现有的用法。
data_url
指向的obs数据集,会被下载到这个路径供程序使用。train_url
指向的obs地址。checkpoint_url
指向的obs地址所存储的checkpoint会被下载到这个路径,程序中可以使用此路径来加载checkpoint具体脚本详见scripts/run_local_train.sh,脚本主要在Ascend环境中使用。可以根据传入的rank_table_file文件来自动生成对应数量,对应卡号的训练进程拉起程序。
rank_table_file的生成,可以参考hccl_tools来自动生成。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。