MCPcopy Index your code
hub / github.com/modelscope/modelscope

github.com/modelscope/modelscope @v1.38.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.38.0 ↗ · + Follow
30,761 symbols 119,326 edges 3,353 files 6,977 documented · 23% 13 cross-repo links updated todayv1.38.0 · 2026-07-03★ 9,00910 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://modelscope.oss-cn-beijing.aliyuncs.com/modelscope.gif" width="400"/>

PyPI

license open issues GitHub pull-requests GitHub latest commit Leaderboard

Discord

modelscope%2Fmodelscope | Trendshift

English | 中文 | 日本語

简介

ModelScope 是一个 “模型即服务”(MaaS) 平台,旨在汇集来自 AI 社区的最先进的机器学习模型,并简化在实际应用中使用 AI 模型的流程。ModelScope 库使开发人员能够通过丰富的 API 设计执行推理、训练和评估,从而促进跨不同 AI 领域的最先进模型的统一体验。

ModelScope Library 为模型贡献者提供了必要的分层 API,以便将来自 CV、NLP、语音、多模态以及科学计算的模型集成到 ModelScope 生态系统中。所有这些不同模型的实现都以一种简单统一访问的方式进行封装,用户只需几行代码即可完成模型推理、微调和评估。同时,灵活的模块化设计使得在必要时也可以自定义模型训练推理过程中的不同组件。

除了包含各种模型的实现之外,ModelScope Library 还支持与 ModelScope 后端服务进行必要的交互,特别是与 Model-Hub 和 Dataset-Hub 的交互。这种交互促进了模型和数据集的管理在后台无缝执行,包括模型数据集查询、版本控制、缓存管理等。

部分模型和在线体验

ModelScope 开源了数百个 (当前 700+) 模型,涵盖自然语言处理、计算机视觉、语音、多模态、科学计算等,其中包含数百个 SOTA 模型。用户可以进入 ModelScope 网站 (modelscope.cn) 的模型中心零门槛在线体验,或者 Notebook 方式体验模型。

<img src="https://github.com/modelscope/modelscope/raw/v1.38.0/data/resource/inference.gif" width="1024"/>

示例如下:

大模型:

多模态:

计算机视觉:

语音:

科学计算:

快速上手

我们针对不同任务提供了统一的使用接口, 使用 pipeline 进行模型推理、使用 Trainer 进行微调和评估。

对于任意类型输入(图像、文本、音频、视频...)的任何任务,只需 3 行代码即可加载模型并获得推理结果,如下所示:

>>> from modelscope.pipelines import pipeline
>>> word_segmentation = pipeline ('word-segmentation',model='damo/nlp_structbert_word-segmentation_chinese-base')
>>> word_segmentation (' 今天天气不错,适合出去游玩 ')
{'output': ' 今天 天气 不错 , 适合 出去 游玩 '}

给定一张图片,你可以使用如下代码进行人像抠图.

image

>>> import cv2
>>> from modelscope.pipelines import pipeline

>>> portrait_matting = pipeline ('portrait-matting')
>>> result = portrait_matting ('https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/image_matting.png')
>>> cv2.imwrite ('result.png', result ['output_img'])

输出图像如下 image

对于微调和评估模型, 你需要通过十多行代码构建 dataset 和 trainer,调用 trainer.train ()trainer.evaluate () 即可。

例如我们利用 gpt3 1.3B 的模型,加载是诗歌数据集进行 finetune,可以完成古诗生成模型的训练。

>>> from modelscope.metainfo import Trainers
>>> from modelscope.msdatasets import MsDataset
>>> from modelscope.trainers import build_trainer

>>> train_dataset = MsDataset.load ('chinese-poetry-collection', split='train'). remap_columns ({'text1': 'src_txt'})
>>> eval_dataset = MsDataset.load ('chinese-poetry-collection', split='test').remap_columns ({'text1': 'src_txt'})
>>> max_epochs = 10
>>> tmp_dir = './gpt3_poetry'

>>> kwargs = dict (
     model='damo/nlp_gpt3_text-generation_1.3B',
     train_dataset=train_dataset,
     eval_dataset=eval_dataset,
     max_epochs=max_epochs,
     work_dir=tmp_dir)

>>> trainer = build_trainer (name=Trainers.gpt3_trainer, default_args=kwargs)
>>> trainer.train ()

为什么要用 ModelScope Library

  1. 针对不同任务、不同模型抽象了统一简洁的用户接口,3 行代码完成推理,10 行代码完成模型训练,方便用户使用 ModelScope 社区中多个领域的不同模型,开箱即用,便于 AI 入门和教学。

  2. 构造以模型为中心的开发应用体验,支持模型训练、推理、导出部署,方便用户基于 ModelScope Library 构建自己的 MLOps.

  3. 针对模型推理、训练流程,进行了模块化的设计,并提供了丰富的功能模块实现,方便用户定制化开发来自定义自己的推理、训练等过程。

  4. 针对分布式模型训练,尤其是大模型,提供了丰富的训练策略支持,包括数据并行、模型并行、混合并行等。

安装

镜像

ModelScope Library 目前支持 tensorflow,pytorch 深度学习框架进行模型训练、推理, 在 Python 3.7+, Pytorch 1.8+, Tensorflow1.15/Tensorflow2.0 + 测试可运行。

为了让大家能直接用上 ModelScope 平台上的所有模型,无需配置环境,ModelScope 提供了官方镜像,方便有需要的开发者获取。地址如下:

CPU 镜像

# py37
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-py37-torch1.11.0-tf1.15.5-1.6.1

# py38
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-py38-torch2.0.1-tf2.13.0-1.9.5

GPU 镜像

# py37
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.3.0-py37-torch1.11.0-tf1.15.5-1.6.1

# py38
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.8.0-py38-torch2.0.1-tf2.13.0-1.9.5

搭建本地 Python 环境

你也可以使用 pip 和 conda 搭建本地 python 环境,ModelScope 支持 python3.7 + 以上环境,我们推荐使用 Anaconda,安装完成后,执行如下命令为 modelscope library 创建对应的 python 环境:

conda create -n modelscope python=3.8
conda activate modelscope

接下来根据所需使用的模型依赖安装底层计算框架

安装完前置依赖,你可以按照如下方式安装 ModelScope Library。

ModelScope Library 由核心框架,以及不同领域模型的对接组件组成。如果只需要 ModelScope 模型和数据集访问等基础能力,可以只安装 ModelScope 的核心框架:

pip install modelscope

如仅需体验多模态领域的模型,可执行如下命令安装领域依赖:

pip install modelscope [multi-modal]

如仅需体验 NLP 领域模型,可执行如下命令安装领域依赖(因部分依赖由 ModelScope 独立 host,所以需要使用 "-f" 参数):

pip install modelscope [nlp] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

如仅需体验计算机视觉领域的模型,可执行如下命令安装领域依赖(因部分依赖由 ModelScope 独立 host,所以需要使用 "-f" 参数):

pip install modelscope [cv] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

如仅需体验语音领域模型,可执行如下命令安装领域依赖(因部分依赖由 ModelScope 独立 host,所以需要使用 "-f" 参数):

pip install modelscope [audio] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

注意:当前大部分语音模型需要在 Linux 环境上使用,并且推荐使用 python3.7 + tensorflow 1.x 的组合。

如仅需体验科学计算领域模型,可执行如下命令安装领域依赖(因部分依赖由 ModelScope 独立 host,所以需要使用 "-f" 参数):

pip install modelscope [science] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

注意:

  1. 目前部分语音相关的模型仅支持 python3.7,tensorflow1.15.4 的 Linux 环境使用。 其他绝大部分模型可以在 windows、mac(x86)上安装使用。

  2. 语音领域中一部分模型使用了三方库 SoundFile 进行 wav 文件处理,在 Linux 系统上用户需要手动安装 SoundFile 的底层依赖库 libsndfile,在 Windows 和 MacOS 上会自动安装不需要用户操作。详细信息可参考 SoundFile 官网。以 Ubuntu 系统为例,用户需要执行如下命令:

    shell sudo apt-get update sudo apt-get install libsndfile1

  3. CV 领域的少数模型,需要安装 mmcv-full, 如果运行过程中提示缺少 mmcv,请参考 mmcv 安装手册 进行安装。 这里提供一个最简版的 mmcv-full 安装步骤,但是要达到最优的 mmcv-full 的安装效果(包括对于 cuda 版本的兼容),请根据自己的实际机器环境,以 mmcv 官方安装手册为准。

    shell pip uninstall mmcv # if you have installed mmcv, uninstall it pip install -U openmim mim install mmcv-full

更多教程

除了上述内容,我们还提供如下信息:

License

本项目使用 Apache License (Version 2.0).

Core symbols most depended-on inside this repo

append
called by 4450
modelscope/models/cv/image_colorization/unet/utils.py
print
called by 2215
modelscope/models/cv/referring_video_object_segmentation/utils/misc.py
cat
called by 1942
modelscope/models/science/unifold/modules/frame.py
size
called by 1852
modelscope/models/nlp/palm_v2/dureader_eval.py
unsqueeze
called by 1636
modelscope/models/science/unifold/modules/frame.py
info
called by 1251
modelscope/models/cv/tinynas_detection/damo/base_models/core/ota_assigner.py
transpose
called by 898
modelscope/models/cv/tinynas_detection/damo/structures/bounding_box.py
pipeline
called by 888
modelscope/pipelines/builder.py

Shape

Method 19,649
Class 5,867
Function 5,215
Route 30

Languages

Python100%

Modules by API surface

modelscope/preprocessors/templates/template.py186 symbols
modelscope/models/nlp/mglm/tasks/superglue/dataset.py138 symbols
modelscope/models/multi_modal/mplug/modeling_mplug.py134 symbols
modelscope/models/cv/tinynas_classfication/basic_blocks.py127 symbols
modelscope/models/nlp/mglm/tasks/superglue/pvp.py125 symbols
modelscope/models/multi_modal/mgeo/backbone.py115 symbols
modelscope/models/nlp/mglm/data_utils/tokenization.py111 symbols
modelscope/models/cv/image_super_resolution_pasd_v2/unet_2d_blocks.py111 symbols
modelscope/models/cv/image_super_resolution_pasd/unet_2d_blocks.py102 symbols
modelscope/models/multi_modal/mplug_owl/modeling_mplug_owl.py94 symbols
modelscope/models/nlp/mglm/model/modeling_bert.py92 symbols
modelscope/models/multi_modal/videocomposer/unet_sd.py90 symbols

Dependencies from manifests, versioned

diffusers0.35.2 · 1×
evalscope1.0.0 · 1×
gradio3.39.0 · 1×
keye_vl_utils1.5.2 · 1×
optimum1.27.0 · 1×
qwen_omni_utils0.0.9 · 1×
qwen_vl_utils0.0.14 · 1×

For agents

$ claude mcp add modelscope \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact