发布模型
概述
MindSpore Hub是存放MindSpore官方或者第三方开发者提供的预训练模型的平台。它向应用开发者提供了简单易用的模型加载和微调APIs,使得用户可以基于预训练模型进行推理或者微调,并部署到自己的应用中。用户也可以将自己训练好的模型按照指定的步骤发布到MindSpore Hub中,以供其他用户进行下载和使用。
本教程以GoogleNet为例,对想要将模型发布到MindSpore Hub的模型开发者介绍了模型上传步骤。
发布模型到MindSpore Hub
用户可通过向hub仓提交PR的方式向MindSpore Hub发布模型。这里我们以GoogleNet为例,列出模型提交到MindSpore Hub的步骤。
将你的预训练模型托管在可以访问的存储位置。
参照模板,在你自己的代码仓中添加模型生成文件
mindspore_hub_conf.py
,文件放置的位置如下:googlenet ├── src │ ├── googlenet.py ├── script │ ├── run_train.sh ├── train.py ├── test.py ├── mindspore_hub_conf.py
参照模板,在
hub/mshub_res/assets/mindspore/ascend/0.7
文件夹下创建{model_name}_{model_version}_{dataset}.md
文件,其中ascend
为模型运行的硬件平台,0.7
为MindSpore的版本号,hub/mshub_res
的目录结构为:hub ├── mshub_res │ ├── assets │ ├── mindspore │ ├── gpu │ ├── 0.7 │ ├── ascend │ ├── 0.7 │ ├── googlenet_v1_cifar10.md │ ├── tools │ ├── get_sha256.py │ ├── load_markdown.py │ └── md_validator.py
注意,
{model_name}_{model_version}_{dataset}.md
文件中需要补充如下所示的file-format
、asset-link
和asset-sha256
信息,它们分别表示模型文件格式、模型存储位置(步骤1所得)和模型哈希值。file-format: ckpt asset-link: https://download.mindspore.cn/model_zoo/official/cv/googlenet/goolenet_ascend_0.2.0_cifar10_official_classification_20200713/googlenet.ckpt asset-sha256: 114e5acc31dad444fa8ed2aafa02ca34734419f602b9299f3b53013dfc71b0f7
其中,MindSpore Hub支持的模型文件格式有:
对于每个预训练模型,执行以下命令,用来获得
.md
文件asset-sha256
处所需的哈希值,其中googlenet.ckpt
是从步骤1的存储位置处下载并保存到tools
文件夹的预训练模型,运行后输出的哈希值为114e5acc31dad444fa8ed2aafa02ca34734419f602b9299f3b53013dfc71b0f7
。cd /hub/mshub_res/tools python get_sha256.py --file ../googlenet.ckpt
使用
hub/mshub_res/tools/md_validator.py
在本地核对.md
文件的格式,执行以下命令,输出结果为All Passed
,表示.md
文件的格式和内容均符合要求。python md_validator.py --check_path ../assets/mindspore/ascend/0.7/googlenet_v1_cifar10.md
在
mindspore/hub
仓创建PR,详细创建方式可以参考贡献者Wiki。
一旦你的PR合入到mindspore/hub
的master分支,你的模型将于24小时内在MindSpore Hub 网站上显示。有关模型上传的更多详细信息,请参考README。