
# 在ModelArts上训练模型如何配置输入输出数据？
ModelArts支持用户上传自定义算法创建训练作业。上传自定义算法前，请完成[创建算法](https://support.huaweicloud.com/develop-modelarts/develop-modelarts-0003.html)并上传至OBS桶。创建算法请参考[开发用于预置框架训练的代码](https://support.huaweicloud.com/develop-modelarts/develop-modelarts-0008.html)。创建训练作业请参考[创建训练作业](https://support.huaweicloud.com/develop-modelarts/develop-modelarts-0022.html)指导。
#### 解析输入路径参数、输出路径参数
运行在ModelArts的模型读取存储在OBS服务的数据，或者输出至OBS服务指定路径，输入和输出数据需要配置3个地方：
1. 训练代码中需解析输入路径参数和输出路径参数。ModelArts推荐以下方式实现参数解析。
   ```
   import argparse
   # 创建解析
   parser = argparse.ArgumentParser(description="train mnist",
                                    formatter_class=argparse.ArgumentDefaultsHelpFormatter)
   # 添加参数
   parser.add_argument('--train_url', type=str, 
                       help='the path model saved')
   parser.add_argument('--data_url', type=str, help='the training data')
   # 解析参数
   args, unknown = parser.parse_known_args()
   ```
   完成参数解析后，用户使用"data_url"、"train_url"代替算法中数据来源和数据输出所需的路径。
   
2. 在使用预置框架创建算法时，根据[1]中的代码参数设置定义的输入输出参数。
   - 训练数据是算法开发中必不可少的输入。"输入"参数建议设置为"data_url"，表示数据输入来源，也支持用户根据[1]的算法代码自定义代码参数。
   
   
   
   - 模型训练结束后，训练模型以及相关输出信息需保存在OBS路径。"输出"数据默认配置为模型输出，代码参数为"train_url"，也支持用户根据[1]的算法代码自定义输出路径参数。
    
3. 在创建训练作业时，填写输入路径和输出路径。 训练输入选择对应的OBS路径或者数据集路径，训练输出选择对应的OBS路径。
   
 
