
# 创建模型不同方式的场景介绍
AI开发和调优往往需要大量的迭代和调试，数据集、训练代码或参数的变化都可能会影响模型的质量，如不能统一管理开发流程元数据，可能会出现无法重现最优模型的现象。
ModelArts的模型可导入所有训练生成的元模型、上传至对象存储服务（OBS）中的元模型和容器镜像中的元模型，可对所有迭代和调试的模型进行统一管理。
#### 约束与限制
创建模型、管理模型版本等功能目前是免费开放给所有用户，使用此功能不会产生费用。
#### 创建模型的几种场景
- [从训练作业中导入模型文件创建模型](https://support.huaweicloud.com/usermanual-standard-modelarts/inference-modelarts-0006.html)：在ModelArts中创建训练作业，并完成模型训练，在得到满意的模型后，可以将训练后得到的模型创建为模型，用于部署服务。
- [从OBS中导入模型文件创建模型](https://support.huaweicloud.com/usermanual-standard-modelarts/inference-modelarts-0008.html)：如果您使用常用框架在本地完成模型开发和训练，可以将本地的模型按照模型包规范上传至OBS桶中，从OBS将模型导入至ModelArts中，创建为模型，直接用于部署服务。
- [从容器镜像中导入模型文件创建模型](https://support.huaweicloud.com/usermanual-standard-modelarts/inference-modelarts-0009.html)：针对ModelArts目前不支持的AI引擎，可以通过自定义镜像的方式将编写的模型镜像导入ModelArts，创建为模型，用于部署服务。
- [从AI Gallery订阅模型](https://support.huaweicloud.com/usermanual-standard-modelarts/inference-modelarts-0011.html)：ModelArts的AI Gallery中提供了大量免费的模型供用户一键部署，您可订阅AI Gallery上的模型进行AI体验学习。
 
 #### 推理支持的AI引擎
在ModelArts创建模型时，如果使用预置镜像"从OBS中选择"导入模型，则支持如下常用引擎及版本的模型包。
![](https://support.huaweicloud.com/usermanual-standard-modelarts/public_sys-resources/note_3.0-zh-cn.png)
- 统一镜像Runtime的命名规范：\<AI引擎名字及版本\> - \<硬件及版本：cpu或cuda或cann\> - \<python版本\> - \<操作系统版本\> - \<CPU架构\>
- 当前支持自定义模型启动命令，预置AI引擎都有默认的启动命令，如非必要无需改动
 
 表1支持的常用引擎及其Runtime以及默认启动命令 
| 模型使用的引擎类型    | 支持的运行环境（Runtime）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 注意事项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| TensorFlow   | python3.6 python2.7（待下线） tf1.13-python3.6-gpu tf1.13-python3.6-cpu tf1.13-python3.7-cpu tf1.13-python3.7-gpu tf2.1-python3.7（待下线） tensorflow_2.1.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64（推荐） | - python2.7、python3.6的运行环境搭载的TensorFlow版本为1.8.0。  - python3.6、python2.7、tf2.1-python3.7，表示该模型可同时在CPU或GPU运行。其他Runtime的值，如果后缀带cpu或GPU，表示该模型仅支持在CPU或GPU中运行。  - 默认使用的Runtime为python2.7。  - 默认启动命令：sh /home/mind/run.sh                    |
| Spark_MLlib  | python2.7（待下线） python3.6（待下线）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | - python2.7以及python3.6的运行环境搭载的Spark_MLlib版本为2.3.2。  - 默认使用的Runtime为python2.7。  - python2.7、python3.6只能用于运行适用于CPU的模型。  - 默认启动命令：bash /home/work/predict/bin/run.sh                                                      |
| Scikit_Learn | python2.7（待下线） python3.6（待下线）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | - python2.7以及python3.6的运行环境搭载的Scikit_Learn版本为0.18.1。  - 默认使用的Runtime为python2.7。  - python2.7、python3.6只能用于运行适用于CPU的模型。  - 默认启动命令：bash /home/work/predict/bin/run.sh                                              |
| XGBoost      | python2.7（待下线） python3.6（待下线）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | - python2.7以及python3.6的运行环境搭载的XGBoost版本为0.80。  - 默认使用的Runtime为python2.7。  - python2.7、python3.6只能用于运行适用于CPU的模型。  - 默认启动命令：bash /home/work/predict/bin/run.sh                                                              |
| PyTorch      | python2.7（待下线） python3.6 python3.7 pytorch1.4-python3.7 pytorch1.5-python3.7（待下线）  pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64（推荐）                                                                                                                                                                                           | - python2.7、python3.6、python3.7的运行环境搭载的PyTorch版本为1.0。  - python2.7、python3.6、python3.7、pytorch1.4-python3.7、pytorch1.5-python3.7，表示该模型可同时在CPU或GPU运行。  - 默认使用的Runtime为python2.7。  - 默认启动命令：sh /home/mind/run.sh   |
| MindSpore    | aarch64（推荐）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | aarch64只能用于运行在Snt3芯片上。 - 默认启动命令：sh /home/mind/run.sh                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
