ModelScope 的模型库(Model Hub)是共享机器学习模型、demo 演示、数据集和数据指标的地方。可以轻松地创建和管理自己的模型库,利用界面或开发环境来便捷地上传、下载相关模型文件,并从 Model Hub 中获取有用的模型和数据集元数据。
模型:是指一个具体的模型实例,包括模型网络结构和相应参数。ModelScope 平台提供丰富的模型信息供用户体验与使用。 模型库:是指对模型进行存储、版本管理和相关操作的模型服务,用户上传和共享的模型将存储至 ModelScope 的模型库中,同时用户也可在 Model hub 中创建属于自己的模型存储库,并沿用平台提供的模型库管理功能进行模型管理。
从模型库中下载并使用模型
Model Hub 上的模型后端通过 git 存储并实现版本管理。用户可以下载单个文件或模型相关所有文件。通过一个模型 id,即可通过本地 SDK 从 ModelHub 下载模型,以及加载使用。同时此 ModelScope 的 SDK 对于本地下载的模型文件会自动进行缓存管理。下次您需要相同文件时,它将从您的缓存中加载,无需重新下载。 只需要知道模型 id,以及希望使用的模型版本 (默认为 master),就可以通过一行代码,完成模型寻找,下载,以及加载的工作:
from modelscope.models import Model
model = Model.from_pretrained(self.model_id)
如果希望指定非默认版本,则可以使用:
from modelscope.models import Model
model = Model.from_pretrained(self.model_id, revision='version1.0')
除此之外,如果只是希望下载模型到本地,我们还提供了更加底层的 API 接口 snapshot_download() 。通过这个接口可以直接下载模型,并且可指定下载模型的地址。
from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download(self.model_id, cache_dir='path/to/local/dir')
有关更多详细信息,请参阅 Model.from_pretrained() 以及 snapshot_download() API 的技术文档。
创建自己的模型库
要创建文件并共享至 ModelScope 社区,您需要拥有 ModelScope 账号。如果您还没有账号,请注册一个新账号以用于向 Model hub 验证您的身份。
您可以使用两种方式创建模型库。
- 使用 ModelScope 的 web 页面,通过填写基础信息添加模型。
注册登录后,在头像左侧会出现创建按钮,点击可创建模型或数据集。点击创建模型,进入模型页面填写基础信息实现模型库的创建。
2.1 登录
注:你只需要登录一次,登录态会保持 30 天
from modelscope.hub.api import HubApi
api = HubApi()
api.login(YOUR_ACCESS_TOKEN)
其中 ACCESS_TOKEN 可以通过用账号密码登录网站, 前往【个人中心】->【访问令牌】获取
<h4 id=)2.2 创建模型
api.create_model(
model_id="damo/cv_unet_image-matting_damo",
visibility=ModelVisibility.PUBLIC,
license=Licenses.APACHE_V2,
chinese_,
)
以上例子中,创建出模型的完整模型 id 为 "damo/cv_unet_image-matting_damo",可以在 Model/Pipeline 种使用。
将文件共享至模型库
同理,也可使用两种方法进行模型文件的添加:
- 使用 ModelScope 的 web 页面,上传相关模型文件。
- 使用 git 或 python SDK 的方式添加模型文件。