本文面向刚入门 AI 的同学,目标是在云 Notebook 上(无需本地环境)跑通「下载模型 → 下载数据集 → 微调 → 上传」的完整链路。

什么是魔搭社区?

魔搭社区(ModelScope) 是阿里巴巴联合 CCF 开源发展委员会共同发起的 AI 模型开源社区与创新平台,也是国内目前最活跃的 AI 模型共享与协作平台之一。

如果你刚开始接触 AI,或者曾经尝试过从海外平台下载大模型,大概率遇到过这些让人头疼的问题:网页加载半天打不开、下载到一半突然断线只能重来、大文件存储有容量上限、甚至需要额外付费才能下载热门模型。对于国内开发者来说,网络环境和使用习惯都让这些门槛变得更高。

这时候,魔搭社区就是更省心、更顺畅的选择。

 

对国内用户来说,魔搭不仅是一个”能下载模型的地方”,更是一个从找模型 → 跑代码 → 微调训练 → 分享成果都能一站式完成的开源社区,让非计算机背景的同学也能快速上手,不会被复杂的网络代理和入门文档给卡住。

 

如何下载模型和数据集?

魔搭提供了网页下载、命令行、SDK、git 四种下载方式,总有一种适合你。

 

2.1 网页直接下载

最直观的方式:打开模型文件页面,点击下载按钮,文件就会保存到你的电脑。适合只想下一个文件看看的场景。

 

模型下载文档:https://modelscope.cn/docs/models/download
数据集下载文档:https://modelscope.cn/docs/datasets/download

2.2 CLI 下载(命令行)

CLI 是 Command Line Interface(命令行界面)的缩写,你可以在终端、命令提示符(CMD)、Powershell里输入命令。

安装 modelscope:

pip install modelscope

下载模型到本地指定目录:

modelscope download --model microsoft/resnet-18 --local_dir ./checkpoint

下载数据集到本地指定目录:

modelscope download --dataset OpenDataLab/Fashion-MNIST --local_dir ./dataset
  • --model / --dataset:要下载的仓库 ID (格式是所有者/模型或数据集名称)
  • --local_dir:保存到本地的路径

 

2.3 Python SDK 下载

SDK 是 Software Development Kit(软件开发工具包)的缩写,简单说就是用 Python 代码来操作。

在 Notebook 等 Python 开发环境里,我们一般用 SDK,方便和其他代码无缝衔接:

from modelscope import snapshot_download, dataset_snapshot_download
# 下载模型
model_dir = snapshot_download("microsoft/resnet-18", local_dir="./checkpoint")
# 下载数据集
dataset_dir = dataset_snapshot_download("OpenDataLab/Fashion-MNIST", local_dir="./dataset")

local_dir 参数表示把文件放到当前目录的哪个文件夹里,方便管理文件的下载位置。

模型下载文档:https://modelscope.cn/docs/models/download。
如果你想指定下载某些文件/过滤文件/下载私有模型,或者使用 Git 来管理模型库和数据集,可以在官方文档中查看更详细的例子。

如何上传模型和数据集?

如果你想把自己构建的数据集或者训练好的模型想分享给其他人用,魔搭不仅提供方便的上传方式,更提供了关联学科领域、论文、应用等社区组件的开源生态环境。

 

3.1 网页创建仓库

  1. 进入魔搭首页,点击右上角 创建模型(或创建数据集)

 

 

  1. 选择类型:一般选 通用模型;如果是 AIGC 模型或者 AI4Science 模型,可以在左上角选择细分类别,这样你的模型会被收录到这个领域的合集里,能被更多人发现。访问 https://modelscope.cn/nexa/models 可以直达科学智能专区。

 

  1. 填写模型名称、开源许可证、描述、标签等信息
  2. 创建完成后,可以通过网页上传文件,也可以用 CLI/SDK/Git 上传
上传文档:https://modelscope.cn/docs/models/upload

3.2 撰写模型/数据集卡片

模型卡片是模型库的名片,主要通过模型文件中的README.md文件维护。其主要由头部的 YAML元数据 和 Markdown正文 共两个部分组成,为社区用户快速了解、使用、共享模型提供了沟通协作的媒介。

一份完善的模型卡片可以包括但不限于模型名称与模型描述、使用指南、训练流程、数据评估及结果等内容。关于模型卡片的详细介绍可以查看文档(https://modelscope.cn/docs/models/model-card)。在这里,我们给一个在 Fasion-MNIST 数据集上微调过的 ResNet 模型撰写模型卡片:

---
license: apache-2.0
task:
    - image-classification
frameworks: pytorch
datasets:
    - OpenDataLab/Fashion-MNIST
base_model: microsoft/resnet-18
---
# ResNet-Fashion-MNIST
基于 ResNet-18 在 Fashion-MNIST 数据集上微调的图像分类模型。
## 模型描述
本模型以 [microsoft/resnet-18](https://modelscope.cn/models/microsoft/resnet-18) 为预训练权重,在 [Fashion-MNIST](https://modelscope.cn/datasets/OpenDataLab/Fashion-MNIST) 数据集上进行微调,用于识别 10 类服装物品。
## 使用示例
```python
from modelscope import snapshot_download
from transformers import AutoModelForImageClassification, AutoImageProcessor
from PIL import Image
import torch
# 1. 下载并加载模型 (首次运行会自动下载)
model_id = "VoyagerX/ResNet-Fashion-MNIST"
model_dir = snapshot_download(model_id)
model = AutoModelForImageClassification.from_pretrained(model_dir)
processor = AutoImageProcessor.from_pretrained(model_dir)
# 2. 准备图片 (确保图片为 RGB 模式)
image_path = "./my_model/test_img.png"  # 请替换为您的实际图片路径
image = Image.open(image_path).convert("RGB")
# 3. 预处理与推理
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
    outputs = model(**inputs)
    logits = outputs.logits
# 4. 获取结果
predicted_class_idx = logits.argmax(-1).item()
label = model.config.id2label[predicted_class_idx]
confidence = torch.softmax(logits, dim=-1)[0][predicted_class_idx].item()
print(f"预测类别: {label}")
print(f"置信度: {confidence:.4f}")
```

3.3 上传模型/数据集

模型和数据集的上传也有 CLI、SDK、Git 多种方式。以 CLI 为例上传一个微调好的 ResNet 模型:

modelscope upload YOUR_USERNAME/ResNet-Fashion-MNIST /path/to/model_folder --token ms-xxxxxx

也可以使用 Python SDK 上传:

from modelscope.hub.push_to_hub import push_to_hub
os.environ["MODELSCOPE_API_TOKEN"] = "ms-xxxxxx"  # 替换为你自己的 access token
push_to_hub(
    repo_name="YOUR_USERNAME/ResNet-Fashion-MNIST",
    output_dir="./my_model",
    private=False,
    commit_message="Upload fine-tuned model"
)
上传前需要先获取 Access Token(访问令牌):访问 https://modelscope.cn/my/myaccesstoken 复制你的令牌。Token 相当于你的密码,不要泄露给别人。

 

 

上传模型之后,“模型介绍”页面会自动提取 README.md 里的元数据,制作模型卡片,展示作者、模型系谱、关联数据集等信息。

 

装修你的个人主页

上传完模型和数据后,别忘了装修一下你的魔搭个人主页!一个精心维护的个人主页就是你最好的开源名片。

 

 

你可以:

  • 上传头像和封面图
  • 写一段个人简介和履历
  • 展示自己的模型、数据集和项目

主页地址通常是:https://modelscope.cn/profile/你的用户名

 

动手实践:在灵感流Notebook上跑起来

光说不练假把式。下面我们在 魔搭灵感流 Gallery 里的云 Notebook 上完成一次完整实验:

  1. 下载 ResNet-18 预训练模型(图像分类经典模型)
  2. 下载 Fashion-MNIST 数据集(10 类服装图片,MNIST 的时尚升级版)
  3. 微调 模型:把原本识别 1000 类物体的 ResNet,改成识别 10 类服装
  4. 评估 计算测试集上的准确率
  5. 上传 训练好的模型到自己的魔搭仓库

 

环境说明

灵感流的 notebook 里已预装 PyTorch、modelscope、transformers 等常用 Python 库,打开 Notebook(https://modelscope.cn/gallery/MSEO/fc246a81-9e47-4101-9e8b-88397870630e),点击右上角的运行按钮,选择 CPU 或 GPU 实例就可以一键运行。

 

核心流程和代码一览:

 

写在最后

恭喜你完成了整个流程!回顾一下我们都做了什么:

  • snapshot_download 从魔搭下载了 ResNet-18 预训练模型
  • dataset_snapshot_download 下载了 Fashion-MNIST 数据集
  • transformers 库加载并微调了模型
  • push_to_hub 把成果上传回魔搭社区

魔搭社区不仅是模型的仓库,更是国内 AI 开发者交流、协作的平台。希望这篇教程能帮助你迈出第一步,早日成为社区的贡献者!

在研习社预览本教程(https://modelscope.cn/learn/7279)。如果有问题,欢迎在研习社留言讨论,也别忘了点亮小爱心支持一下哦。

 

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐