searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

魔乐实践教程(一):上传和分享模型

2026-05-13 18:11:51
0
0

在人工智能的浪潮中,魔乐社区(Modelers)以其海量优质的AI模型库、庞大的数据集资源,以及直观易用的工具,成为开发者们汇聚的活跃社区。在接下来的实践教程系列中,我们将分三个部分带您深入探索魔乐社区:快速上传和分享模型快速上传和分享数据集、以及如何完成魔乐平台上AI应用的构建和离线复现。今天,我们将首先揭秘如何在魔乐社区分享模型,带您一起玩转这个强大的AI社区。

上传模型到Modelers模型库的基本流程如下:

  1. 注册用户并创建Token

  2. 创建模型仓库

  3. 上传模型

  4. 模型文件规范

提示:在魔乐社区分享模型时,需要明确自己是以个人名义还是代表组织进行贡献。本文以个人贡献为例子,如果您选择作为组织贡献者,建议参考管理组织来进行组织和成员的管理 (https://modelers.cn/docs/zh/community/managing_organizations.html)。

01 注册用户并创建Token

在魔乐社区分享模型之前,需要先注册一个社区账号。

作为个人贡献者,在魔乐社区注册账号后,即可贡献模型。

由于在后续与魔乐社区的交互操作过程中需要使用到Token,需要先登录魔乐社区,在个人中心单击访问令牌,新建一个具有Write权限的令牌。

  • 此Token仅在创建时展示,请妥善记录保存。

  • Read:此Token权限只支持下载。

  • Write:此Token权限支持上传和下载。

     

02 创建模型仓库

登录魔乐社区,在主页右上角找到“用户头像”,并在下拉框中找到并单击创建模型按钮,如下图所示。填写仓库信息后,单击创建按钮,即可创建一个模型仓库。

 

也可以利用openMind Hub Client通过代码的方式来创建模型仓库,代码示例参考如下。

from openmind_hub import create_repocreate_repo(repo_id="your-model-name", token="your-token")

模型仓库创建完成后,会自动生成一个模型卡片,模型卡片是一个包含模型信息的README.md文件。为了充分展示您的模型能力、约束等信息,您可以在页面上直接编辑README.md文件。

03 模型上传的三种方式

在本小节中,您将学习如何在魔乐社区分享模型,包括以下三种方法:

  • 通过Git命令将模型上传到模型仓库。

  • 通过openMind Hub Client工具将模型上传到模型仓库。

  • 通过openMind Library中的push_to_hub将模型上传到模型仓库。

     

3.1 使用Git命令上传模型 

如果您在本地有仓库的副本,则可以使用git lfs上传大型文件。

3.1.1 安装Git LFS 

执行以下命令安装git lfs。安装只需执行一次即可,无需在每个本地仓库都执行。

git lfs install

3.1.2 追踪大型文件 

在本地Git仓库中追踪大型文件(100MB以上)。根据实际需要,追踪相应文件,可以是某一类型,也可以是具体的文件名。示例如下:

git lfs track "*.7z" "*.bin" "*.bz2" "*.ckpt" "*.h5" "*.lfs.*" "*.mlmodel" "*.model"\
 "*.npy" "*.npz" "*.onnx" "*.pb" "*.pickle" "*.pkl" "*.pt" "*.pth" "*.rar" "*.safetensors"\
 "saved_model/**/*" "*.tar.*" "*.tar" "*.tgz" "*.zip" "*tfevents*" "*.gz"

也可以追踪特定大型文件,示例如下:

git lfs track "big_file.bin"

 

 

3.1.3 使用Git上传 

在本地仓库中,将模型文件添加到Git跟踪中,然后使用Git命令上传。

git add your-model-file
git commit -m 'commit message'
git push
 

3.1.4 Git上传的账号密码 

git上传时需要输入账号与密码,示例如下:

Username for 'https://modelers.cn': 魔乐社区账号名
Password for 'https://modelers.cn': 权限为Write的token

 

3.2 使用openMind Hub Client上传模型 

openMind Hub Client是一个工具。通过openMind Hub Client,开发者使用命令行界面即可将模型上传到模型仓库。

3.2.1 安装openMind Hub Client 

参考安装openMind Hub Client,安装openMind Hub Client。

链接:https://modelers.cn/docs/zh/openmind-hub-client/install.html

3.2.2 上传模型文件 

openMind Hub Client提供了upload_folder函数向仓库上传文件夹。常用参数:

  • folder_path: 要上传的本地文件夹的路径,必选。

  • repo_id:仓库地址,必选。

以下代码示例将本地/path/to/local/folder文件夹中所有文件上传到仓库username/your-model-name,默认情况下,文件夹内的所有文件都将上传到仓库的根目录。

import openmind_hub

openmind_hub.upload_folder(
    folder_path="/path/to/local/folder",
    repo_id="username/your-model-name",
    token="your-token",
)
 

此外,如果您想对上传的文件类型进行过滤,可以使用allow_patterns 和ignore_patterns 参数:

  • allow_patterns:只允许某类文件上传。如allow_patterns=["*.bin", "*.txt"]表示只上传以.bin和.txt结尾的文件。

  • ignore_patterns:忽略某类文件的上传。如ignore_patterns="**/logs/*.txt"表示忽略所有文本日志文件。

3.3 使用push_to_hub上传模型 

push_to_hub是openMind Library中trainers模块提供的一个便捷接口。它能够在模型训练完成后,自动将您的模型、配置文件以及其他相关文件上传到指定的魔乐社区仓库中。这一功能不仅简化了模型分享的流程,还使得魔乐社区的用户能够更方便地访问和利用您的优秀模型成果。

3.3.1 安装openMind Library以及openMind Hub Client 

参考以下文档安装openMind Library以及openMind Hub Client:

  • 安装openMind Library

  • 安装openMind Hub Client

3.3.2 使用push_to_hub上传 

示例:

from openmind import Trainer, TrainingArguments
from your_utils import YourModel, YourDataCollator, YourTokenizer
from your_datasets import your_train_dataset, your_eval_dataset
  
model = YourModel(...)  
tokenizer = YourTokenizer(...)  
data_collator = YourDataCollator(...)
  
training_args = TrainingArguments(  
    output_dir='./results',          # output directory  
    num_train_epochs=3,              # total number of training epochs  
    per_device_train_batch_size=16,  # batch size per device during training  
    warmup_steps=500,                # number of warmup steps for learning rate scheduler  
    weight_decay=0.01,               # strength of weight decay  
    logging_dir='./logs',            # directory for storing logs  
    push_to_hub=True,                # push the model to openMind Hub  
    hub_model_id="username/your-model-name",  # the name of the repository to push to  
)  
  
trainer = Trainer(  
    model=model,  
    args=training_args,  
    train_dataset=your_train_dataset,  
    eval_dataset=your_eval_dataset,  
    tokenizer=tokenizer,  
    data_collator=data_collator  
)  
  
trainer.train()
在示例代码中,需要特别留意push_to_hub=True和hub_model_id这两个参数。
  • 设置push_to_hub=True意味着您希望将训练完成的模型自动上传到魔乐社区,与广大社区成员分享您的成果。

  • 设置hub_model_id则是由您在魔乐社区的用户名和您希望创建的仓库名称组合而成,共同构成了一个独一无二的标识符。

上述完成之后,您只需登录魔乐社区,访问个人仓库,即可查看和管理自己上传的模型及其他文件。这一流程不仅简化了模型分享的流程,也有利于让您的模型在魔乐社区中得到广泛的传播和应用。

04 模型文件规范

魔乐社区对上传的模型有一些具体的规范和要求,具体涉及上传文件清单及推理脚本要求,主要作用是:

  • 规范示例脚本,方便其余用户快速方便的运行在NPU上。

  • 支撑模型可用性测试,更多相关内容及推理脚本撰写方式可查看模型可用性测试:https://modelers.cn/docs/zh/community/models/verifying_models.html

4.1 上传模型库文件清单 

上传模型库文件需要包含以下内容:

  • 模型权重文件:权重,tokenizer,config.json等(如果transformers或openMind Library不支持对应模型结构,请注意上传modeling_xxx.py文件。

  • README.md:对模型的介绍和使用指南。

  • 推理脚本文件:模型运行脚本示例,放置于examples文件夹。

4.2 README上传过程修改点 

  • 如果README.md涉及示例代码,请将示例代码更新为基于openMind套件可运行的代码。

  • README.md上传到模型仓库后,请选择更新tag,包括内容如下:

 
pipeline_tag
frameworks
license
library_name
hardwares
language
 
  • 请确保README.md中涉及的图片,链接等显示跳转无问题,如果必要可上传至模型仓用相对路径引用。

4.3 推理脚本文件 

模型推理脚本涉及的文件及编程规范可参考模型可用性测试。

05 结语

本次主要讲述在魔乐社区分享模型的经验,希望大家一起交流,助力AI技术的发展。

0条评论
作者已关闭评论
李****囡
5文章数
0粉丝数
李****囡
5 文章 | 0 粉丝
原创

魔乐实践教程(一):上传和分享模型

2026-05-13 18:11:51
0
0

在人工智能的浪潮中,魔乐社区(Modelers)以其海量优质的AI模型库、庞大的数据集资源,以及直观易用的工具,成为开发者们汇聚的活跃社区。在接下来的实践教程系列中,我们将分三个部分带您深入探索魔乐社区:快速上传和分享模型快速上传和分享数据集、以及如何完成魔乐平台上AI应用的构建和离线复现。今天,我们将首先揭秘如何在魔乐社区分享模型,带您一起玩转这个强大的AI社区。

上传模型到Modelers模型库的基本流程如下:

  1. 注册用户并创建Token

  2. 创建模型仓库

  3. 上传模型

  4. 模型文件规范

提示:在魔乐社区分享模型时,需要明确自己是以个人名义还是代表组织进行贡献。本文以个人贡献为例子,如果您选择作为组织贡献者,建议参考管理组织来进行组织和成员的管理 (https://modelers.cn/docs/zh/community/managing_organizations.html)。

01 注册用户并创建Token

在魔乐社区分享模型之前,需要先注册一个社区账号。

作为个人贡献者,在魔乐社区注册账号后,即可贡献模型。

由于在后续与魔乐社区的交互操作过程中需要使用到Token,需要先登录魔乐社区,在个人中心单击访问令牌,新建一个具有Write权限的令牌。

  • 此Token仅在创建时展示,请妥善记录保存。

  • Read:此Token权限只支持下载。

  • Write:此Token权限支持上传和下载。

     

02 创建模型仓库

登录魔乐社区,在主页右上角找到“用户头像”,并在下拉框中找到并单击创建模型按钮,如下图所示。填写仓库信息后,单击创建按钮,即可创建一个模型仓库。

 

也可以利用openMind Hub Client通过代码的方式来创建模型仓库,代码示例参考如下。

from openmind_hub import create_repocreate_repo(repo_id="your-model-name", token="your-token")

模型仓库创建完成后,会自动生成一个模型卡片,模型卡片是一个包含模型信息的README.md文件。为了充分展示您的模型能力、约束等信息,您可以在页面上直接编辑README.md文件。

03 模型上传的三种方式

在本小节中,您将学习如何在魔乐社区分享模型,包括以下三种方法:

  • 通过Git命令将模型上传到模型仓库。

  • 通过openMind Hub Client工具将模型上传到模型仓库。

  • 通过openMind Library中的push_to_hub将模型上传到模型仓库。

     

3.1 使用Git命令上传模型 

如果您在本地有仓库的副本,则可以使用git lfs上传大型文件。

3.1.1 安装Git LFS 

执行以下命令安装git lfs。安装只需执行一次即可,无需在每个本地仓库都执行。

git lfs install

3.1.2 追踪大型文件 

在本地Git仓库中追踪大型文件(100MB以上)。根据实际需要,追踪相应文件,可以是某一类型,也可以是具体的文件名。示例如下:

git lfs track "*.7z" "*.bin" "*.bz2" "*.ckpt" "*.h5" "*.lfs.*" "*.mlmodel" "*.model"\
 "*.npy" "*.npz" "*.onnx" "*.pb" "*.pickle" "*.pkl" "*.pt" "*.pth" "*.rar" "*.safetensors"\
 "saved_model/**/*" "*.tar.*" "*.tar" "*.tgz" "*.zip" "*tfevents*" "*.gz"

也可以追踪特定大型文件,示例如下:

git lfs track "big_file.bin"

 

 

3.1.3 使用Git上传 

在本地仓库中,将模型文件添加到Git跟踪中,然后使用Git命令上传。

git add your-model-file
git commit -m 'commit message'
git push
 

3.1.4 Git上传的账号密码 

git上传时需要输入账号与密码,示例如下:

Username for 'https://modelers.cn': 魔乐社区账号名
Password for 'https://modelers.cn': 权限为Write的token

 

3.2 使用openMind Hub Client上传模型 

openMind Hub Client是一个工具。通过openMind Hub Client,开发者使用命令行界面即可将模型上传到模型仓库。

3.2.1 安装openMind Hub Client 

参考安装openMind Hub Client,安装openMind Hub Client。

链接:https://modelers.cn/docs/zh/openmind-hub-client/install.html

3.2.2 上传模型文件 

openMind Hub Client提供了upload_folder函数向仓库上传文件夹。常用参数:

  • folder_path: 要上传的本地文件夹的路径,必选。

  • repo_id:仓库地址,必选。

以下代码示例将本地/path/to/local/folder文件夹中所有文件上传到仓库username/your-model-name,默认情况下,文件夹内的所有文件都将上传到仓库的根目录。

import openmind_hub

openmind_hub.upload_folder(
    folder_path="/path/to/local/folder",
    repo_id="username/your-model-name",
    token="your-token",
)
 

此外,如果您想对上传的文件类型进行过滤,可以使用allow_patterns 和ignore_patterns 参数:

  • allow_patterns:只允许某类文件上传。如allow_patterns=["*.bin", "*.txt"]表示只上传以.bin和.txt结尾的文件。

  • ignore_patterns:忽略某类文件的上传。如ignore_patterns="**/logs/*.txt"表示忽略所有文本日志文件。

3.3 使用push_to_hub上传模型 

push_to_hub是openMind Library中trainers模块提供的一个便捷接口。它能够在模型训练完成后,自动将您的模型、配置文件以及其他相关文件上传到指定的魔乐社区仓库中。这一功能不仅简化了模型分享的流程,还使得魔乐社区的用户能够更方便地访问和利用您的优秀模型成果。

3.3.1 安装openMind Library以及openMind Hub Client 

参考以下文档安装openMind Library以及openMind Hub Client:

  • 安装openMind Library

  • 安装openMind Hub Client

3.3.2 使用push_to_hub上传 

示例:

from openmind import Trainer, TrainingArguments
from your_utils import YourModel, YourDataCollator, YourTokenizer
from your_datasets import your_train_dataset, your_eval_dataset
  
model = YourModel(...)  
tokenizer = YourTokenizer(...)  
data_collator = YourDataCollator(...)
  
training_args = TrainingArguments(  
    output_dir='./results',          # output directory  
    num_train_epochs=3,              # total number of training epochs  
    per_device_train_batch_size=16,  # batch size per device during training  
    warmup_steps=500,                # number of warmup steps for learning rate scheduler  
    weight_decay=0.01,               # strength of weight decay  
    logging_dir='./logs',            # directory for storing logs  
    push_to_hub=True,                # push the model to openMind Hub  
    hub_model_id="username/your-model-name",  # the name of the repository to push to  
)  
  
trainer = Trainer(  
    model=model,  
    args=training_args,  
    train_dataset=your_train_dataset,  
    eval_dataset=your_eval_dataset,  
    tokenizer=tokenizer,  
    data_collator=data_collator  
)  
  
trainer.train()
在示例代码中,需要特别留意push_to_hub=True和hub_model_id这两个参数。
  • 设置push_to_hub=True意味着您希望将训练完成的模型自动上传到魔乐社区,与广大社区成员分享您的成果。

  • 设置hub_model_id则是由您在魔乐社区的用户名和您希望创建的仓库名称组合而成,共同构成了一个独一无二的标识符。

上述完成之后,您只需登录魔乐社区,访问个人仓库,即可查看和管理自己上传的模型及其他文件。这一流程不仅简化了模型分享的流程,也有利于让您的模型在魔乐社区中得到广泛的传播和应用。

04 模型文件规范

魔乐社区对上传的模型有一些具体的规范和要求,具体涉及上传文件清单及推理脚本要求,主要作用是:

  • 规范示例脚本,方便其余用户快速方便的运行在NPU上。

  • 支撑模型可用性测试,更多相关内容及推理脚本撰写方式可查看模型可用性测试:https://modelers.cn/docs/zh/community/models/verifying_models.html

4.1 上传模型库文件清单 

上传模型库文件需要包含以下内容:

  • 模型权重文件:权重,tokenizer,config.json等(如果transformers或openMind Library不支持对应模型结构,请注意上传modeling_xxx.py文件。

  • README.md:对模型的介绍和使用指南。

  • 推理脚本文件:模型运行脚本示例,放置于examples文件夹。

4.2 README上传过程修改点 

  • 如果README.md涉及示例代码,请将示例代码更新为基于openMind套件可运行的代码。

  • README.md上传到模型仓库后,请选择更新tag,包括内容如下:

 
pipeline_tag
frameworks
license
library_name
hardwares
language
 
  • 请确保README.md中涉及的图片,链接等显示跳转无问题,如果必要可上传至模型仓用相对路径引用。

4.3 推理脚本文件 

模型推理脚本涉及的文件及编程规范可参考模型可用性测试。

05 结语

本次主要讲述在魔乐社区分享模型的经验,希望大家一起交流,助力AI技术的发展。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0