资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

数据集上传

引言

飞桨 AI Studio 数据集文件上传共有以下五种方式:

  • 使用命令行上传
  • 使用 SDK 上传
  • 使用 Git 上传
  • 网页上传
  • 网页创建相关文件

1. 命令行上传

# 首次使用请请先安装aistudio-sdk库
pip install --upgrade aistudio-sdk
aistudio upload -h
usage: PROG upload [-h] [--repo-type {model,dataset}] [--include [INCLUDE ...]] [--exclude [EXCLUDE ...]] [--commit-message COMMIT_MESSAGE] [--token TOKEN]
                   [--max-workers MAX_WORKERS]
                   repo_id [local_path] [path_in_repo]

positional arguments:
  repo_id               The ID of the repo to upload to (e.g. `username/repo-name`)
  local_path            Optional, Local path to the file or folder to upload. Defaults to current directory.
  path_in_repo          Optional, Path of the file or folder in the repo. Defaults to the relative path of the file or folder.

options:
  -h, --help            show this help message and exit
  --repo-type {model,dataset}
                        Type of the repo to upload to (e.g. `dataset`, `model`). Defaults to be `model`.
  --include [INCLUDE ...]
                        Glob patterns to match files to upload.
  --exclude [EXCLUDE ...]
                        Glob patterns to exclude from files to upload.
  --commit-message COMMIT_MESSAGE
                        The message of commit. Default to be `None`.
  --token TOKEN         A User Access Token
  --max-workers MAX_WORKERS
                        The number of workers to use for uploading files.

1.1 上传文件

上传数据集文件需要数据集所有者的Access Token,可在我的控制台--令牌处获取

# 以下示例为将本地的README.md文件上传到repo中master分支的根目录内
# 需要填写repo_id(数据集详情页中)和Access Token(在我的控制台--令牌获取)
aistudio upload {repo_id} ./path/to/local/README.md README.md --repo-type dataset --token {access_token}

1.2 上传文件夹

# 以下示例为将本地folder文件夹中的文件上传至repo中的data目录内
# 需要填写repo_id(数据集详情页中)和Access Token(在我的控制台--令牌获取)
aistudio upload {repo_id} ./path/to/local/folder data/ --repo-type dataset --token {access_token}

2. SDK上传(Python环境)

# 首次使用需要安装aistudio-sdk库
pip install --upgrade aistudio-sdk

2.1 文件上传

import os
# 需要填写aistudio-access-token, 在我的控制台--令牌获取
os.environ["AISTUDIO_ACCESS_TOKEN"] = "{access_token}"
from aistudio_sdk.hub import upload_file

res = upload_file(
    # 填写数据集详情页面中的repo_id
    repo_id='{repo_id}',
    # 填写要上传的文件在本地的路径,如'./path/to/local/README.md'
    path_or_fileobj='./path/to/local/README.md',
    # 填写上传至repo后的文件路径及文件名,如填写'README.md',则会在master分支的根目录内,上传README.md
    path_in_repo='README.md',
    # 填写commit信息,非必填
    commit_message='upload dataset file to repo',
    # 填写仓库类型为dataset,上传数据集文件时为必填项
    repo_type = 'dataset'
)
print(res)

参数说明(upload_file):

字段名 必填 类型 描述
path_or_fileobj str 本地待上传文件的路径
path_in_repo str 文件上传至repo后的文件路径及文件名
repo_id str 数据集唯一标识符(如myname/reponame),在数据集详情页获取
token str 数据集所有者的Access Token,前置已经登陆时,可缺省。在我的控制台--令牌获取
repo_type str 数据集仓库指定为dataset,如不填则默认为model
commit_message str 本次提交的信息

2.2 文件夹上传

import os
# 需要填写aistudio-access-token, 在我的控制台--令牌获取
os.environ["AISTUDIO_ACCESS_TOKEN"] = "{access_token}"
from aistudio_sdk.hub import upload_folder

res = upload_folder(
    # 填写数据集详情页面中的repo_id
    repo_id='{repo_id}',
    # 填写要上传的文件在本地的路径,如'./path/to/local/dir'
    folder_path='./path/to/local/dir',
    # 填写上传至repo后的文件路径,如填写'data/',则会将文件上传至data目录内;或不填,则默认上传至master分支的根目录内
    path_in_repo='data/',
    # 填写commit信息,非必填
    commit_message='upload dataset folder to repo',
    # 填写仓库类型为dataset,上传数据集文件时为必填项
    repo_type = 'dataset'
)
print(res)

参数说明(upload_folder):

字段名 必填 类型 描述
repo_id str 数据集唯一标识符(如myname/reponame),在数据集详情页获取
folder_path str 本地待上传文件夹的路径
path_in_repo str 文件夹上传至repo后的具体路径及文件夹名称
commit_message str 此次上传提交所包含的更改内容
token str 数据集所有者的Access Token,前置已经登陆时,可缺省。在我的控制台--令牌获取
repo_type str 数据集仓库指定为dataset,如不填则默认为model
allow_patterns str 允许上传的文件类型模板,例如*.json, 默认为None
ignore_patterns str 上传时忽略的文件类型模板,例如*.log,默认为None
max_workers int 上传时开启的线程数量,默认为 min(8,os.cpu_count() + 4)
revision str 上传的分支,默认为master

3. Git上传

常见命令说明详见如下:

# 请确认已经安装git-lfs (https://git-lfs.com)
git lfs install

# 首先使用git克隆远程仓库到本地,需要填写Access Token(在我的控制台--令牌获取)和repo_id(数据集详情页中)
# 示例:git clone https://6b27a165b0851ae4651fbc5fe09022cd17@git.aistudio.baidu.com/myname/reponame.git
git clone https://{access_token}@git.aistudio.baidu.com/{repo_id}.git

# 进入本地的git仓库目录,如cd dataset_name/
cd "数据集名称"/
# 添加修改过的文件到暂存区,如 git add README.md 添加指定的README.md文件,或 git add . 添加所有修改文件
git add "已修改的文件"
# 将暂存区的修改文件提交到本地仓库,并附带一条简短的提交说明,如 git commit -m "添加README.md文件"
git commit -m "修改描述"
# 推送到远程仓库
git push

4. 网页上传

4.1 数据集文件页上传文件

4.2 网页上传

说明:

  1. 网页上传单次最多上传10个文件,且总体积不超过500MB,文件上传成功后即可在页面看见文件并预览文件内容。
  2. 平台支持对以下文件类型进行在线预览查看,可预览文件大小上限1M:

.bash, .c, .cpp, .h, .hpp, .ipynb, .js, .json, .makefile, .md, .py, .sh, .txt, .xml, .yaml, .yml, .gitattributes。

5. 网页创建相关文件

5.1 数据集文件页新建文件

5.2 文件在线编辑

可以通过在文件名称处输入文件路径创建文件夹及对应文件(并支持Markdown格式文件预览):

注意事项

  • 特别注意不要混用 ~波浪线 与 /Users/${your_username}。已测得在特殊情况下,会报错本地文件已存在,导致进程不成功。不同版本的python,表现情况也不同,请尽可能使用绝对路径。
  • 不允许上传的文件:
类别 文件后缀
可执行程序 .exe, .apk, .app, .jar, .bat
系统文件 .dll, .sys, .dmg, .iso
设计源文件 .psd, .ai, .sketch, .fcpx, .blend
开发配置文件 .yml, .ini, .env, .toml
虚拟化文件 .vmdk, .ova, .qcow2
临时文件 .tmp, .swap, .bak
模型文件 .pdparams、.pdipaprams、.pdmodel、.safetensors、.npy、.pdparams.tar
上一篇
数据预览
下一篇
数据集下载