Hub documentation
Configuração Manual
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.csvVocê 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: trueIsso é ú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