Hub documentation

Configuração Manual

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Configuração Manual

Este guia mostrará como configurar uma estrutura personalizada para o repositório do seu conjunto de dados. A coleção de conjuntos de dados de exemplo apresenta cada seção da documentação.

Um dataset com uma estrutura e formatos de arquivo suportados possui automaticamente um Dataset Viewer em sua página de dataset no Hub. Você pode usar YAML para definir os splits, subconjuntos e parâmetros do builder usados pelo Viewer.

Também é possível definir vários subconjuntos (também chamados de “configurações”) para o mesmo conjunto de dados (por exemplo, se o conjunto de dados tiver vários arquivos independentes).

Divisões

Se você tiver vários arquivos e quiser definir qual arquivo vai para qual divisão, pode usar YAML no topo do seu README.md.

Por exemplo, dado um repositório como este:

my_dataset_repository/
├── README.md
├── data.csv
└── holdout.csv

Você pode definir um subconjunto para suas divisões adicionando o campo configs no bloco YAML no topo do seu README.md:

---
configs:
- config_name: default
  data_files:
  - split: train
    path: "data.csv"
  - split: test
    path: "holdout.csv"
---

Você pode selecionar vários arquivos por split usando uma lista de caminhos:

my_dataset_repository/
├── README.md
├── data/
│   ├── abc.csv
│   └── def.csv
└── holdout/
    └── ghi.csv
---
configs:
- config_name: default
  data_files:
  - split: train
    path:
    - "data/abc.csv"
    - "data/def.csv"
  - split: test
    path: "holdout/ghi.csv"
---

Ou você pode usar padrões glob para listar automaticamente todos os arquivos necessários:

---
configs:
- config_name: default
  data_files:
  - split: train
    path: "data/*.csv"
  - split: test
    path: "holdout/*.csv"
---

Observe que o campo config_name é obrigatório, mesmo que você tenha apenas um subconjunto.

Vários Subconjuntos

Seu conjunto de dados pode ter vários subconjuntos de dados que você deseja poder usar separadamente. Por exemplo, cada subconjunto tem seu próprio menu suspenso no Dataset Viewer do Hugging Face Hub.

Nesse caso, você pode definir uma lista de subconjuntos dentro do campo configs no YAML:

my_dataset_repository/
├── README.md
├── main_data.csv
└── additional_data.csv
---
configs:
- config_name: main_data
  data_files: "main_data.csv"
- config_name: additional_data
  data_files: "additional_data.csv"
---

Observe que a ordem dos subconjuntos exibidos no visualizador é a padrão primeiro, seguida da ordem alfabética.

Você pode definir um subconjunto padrão usando default: true

- config_name: main_data
  data_files: "main_data.csv"
  default: true

Isso é útil para definir qual subconjunto o Dataset Viewer exibe primeiro e qual subconjunto as bibliotecas de dados carregam por padrão.

Diretório de Dados

Em vez de listar arquivos individuais com data_files, você pode usar data_dir para apontar para um diretório. Os arquivos dentro desse diretório são resolvidos automaticamente com base nas extensões dos arquivos. Isso é especialmente útil quando seus dados estão organizados em subdiretórios:

Por exemplo, em um caso como este, você pode simplesmente usar data_dir, já que os dados de cada subconjunto estão em seu próprio diretório:

my_dataset_repository/
├── README.md
├── main/
│   ├── train.csv
│   └── test.csv
└── extra/
    ├── train.csv
    └── test.csv
---
configs:
- config_name: main
  data_dir: "main"
- config_name: extra
  data_dir: "extra"
---

Quando data_dir é definido, o builder resolve os arquivos em relação a esse diretório. Se o diretório contiver arquivos que correspondam ao padrão de nomenclatura padrão dos splits (por exemplo, train.csv, test.csv), os splits são atribuídos automaticamente, sem a necessidade de data_files explícitos.

Você também pode combinar data_dir com data_files para ter mais controle:

---
configs:
- config_name: default
  data_dir: "data"
  data_files:
  - split: train
    path: "training_*.csv"
  - split: test
    path: "eval_*.csv"
---

Neste caso, os padrões de path em data_files são resolvidos em relação ao data_dir.

Parâmetros do Builder

Não apenas data_files, mas também outros parâmetros específicos do builder podem ser passados via YAML, permitindo mais flexibilidade na forma de carregar os dados sem exigir nenhum código personalizado. Por exemplo, defina qual separador usar em qual subconjunto para carregar seus arquivos csv:

---
configs:
- config_name: tab
  data_files: "main_data.csv"
  sep: "\t"
- config_name: comma
  data_files: "additional_data.csv"
  sep: ","
---

Consulte a documentação dos builders específicos para ver quais parâmetros eles possuem.

Update on GitHub