中文
本页内容

数据集贡献

上传数据集到Modelers数据集仓库的基本流程如下:

  1. 注册用户并创建Token
  2. 创建数据集仓库
  3. 上传数据集
  4. 数据集文件规范

注册用户并创建Token

在魔乐社区分享数据集之前,需要先注册一个社区账号。首先您需要明确自己是以个人名义还是代表组织进行贡献。

如果您选择作为个人贡献者,在魔乐社区注册账号后,即可贡献数据集。

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

create_token

  • 此Token仅在创建时展示,请妥善记录保存。
  • Read:此Token权限只支持下载。
  • Write:此Token权限支持上传和下载。

如果您选择作为组织贡献者,建议参考管理组织来进行组织和成员的管理。

创建数据集仓库

  1. 登录魔乐社区,在主页右上角找到“用户头像”并在下拉框中找到并单击创建数据集按钮,如下图所示。

  2. 填写仓库信息后,单击创建按钮,即可创建一个数据仓库。

create_dataset_repo

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

上传数据集

在本小节中,您将学习如何在魔乐社区上传数据集。

使用Git命令上传数据集

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

安装Git LFS

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

bash
git lfs install

追踪大型文件

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

bash
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"

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

bash
git lfs track "big_file.bin"

使用Git上传

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

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

Git上传账号密码

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

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

使用openMind Hub Client上传数据集

使用openMind Hub Client管理数据集,包括创建数据集和上传数据集到魔乐社区。

python
from openmind_hub import upload_folder

upload_folder(
   token="xxx",
   folder_path="/path/to/local/dataset",
   repo_id="username/my-dataset",
)
  • token:对目标仓库具有可写权限的访问令牌,必选。
  • folder_path: 要上传的本地文件夹的路径,必选。
  • repo_id:目标仓库,必选。

如果您想对要上传的文件类型进行过滤,可以使用allow_patternsignore_patterns参数。

  • allow_patterns:只允许某类文件上传。如allow_patterns=["*.bin", "*.txt"]表示只上传以.bin和.txt结尾的文件。
  • ignore_patterns:忽略某类文件的上传。如ignore_patterns=["*.log"]表示忽略所有日志文件。

数据集文件规范

数据集上传过程目前只对License有强校验。License相关信息在README.md里的metadata更新,目前的规范如下:

  • 不允许License为空

  • 不允许License为[]

  • 支持单一协议

    text
    license: mit
    
  • 支持多协议, 以下为2种支持的写法

    text
    #格式1
    license: [mit, gfdl]
    
    #格式2
    license: 
     - mit
     - gfdl