手把手入门魔搭系列教程——模型和数据集篇

手把手入门魔搭系列教程——模型和数据集篇

本文面向刚入门 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 网页创建仓库

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

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

填写模型名称、开源许可证、描述、标签等信息

创建完成后,可以通过网页上传文件,也可以用 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 上完成一次完整实验:

下载 ResNet-18 预训练模型(图像分类经典模型)

下载 Fashion-MNIST 数据集(10 类服装图片,MNIST 的时尚升级版)

微调 模型:把原本识别 1000 类物体的 ResNet,改成识别 10 类服装

评估 计算测试集上的准确率

上传 训练好的模型到自己的魔搭仓库

环境说明

灵感流的 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)。如果有问题,欢迎在研习社留言讨论,也别忘了点亮小爱心支持一下哦。

相关发现

我的世界杀小白方法
best365官网登录入口

我的世界杀小白方法

🌼 12-18 🌻 990
《DNF》再战魔界刷新时间介绍
365BET是不是上市了

《DNF》再战魔界刷新时间介绍

🌼 08-08 🌻 8746
B站大会员有什么用?有必要开会员吗
best365官网登录入口

B站大会员有什么用?有必要开会员吗

🌼 08-03 🌻 1312
许冠杰的出生日期_许冠杰生肖属什么的?_许冠杰的生辰八字