Hub documentation
Configuration manuelle
Configuration manuelle
Ce guide vous montre comment configurer une structure personnalisée pour votre dépôt de jeu de données. La collection d’exemples de jeux de données présente chaque section de la documentation.
Un jeu de données doté d’une structure et de formats de fichiers pris en charge dispose automatiquement d’un Dataset Viewer sur sa page de jeu de données sur le Hub. Vous pouvez utiliser YAML pour définir les splits, les sous-ensembles et les paramètres du builder utilisés par le Viewer.
Il est également possible de définir plusieurs sous-ensembles (également appelés « configurations ») pour le même jeu de données (par exemple, si le jeu de données contient divers fichiers indépendants).
Splits
Si vous avez plusieurs fichiers et souhaitez définir dans quelle partition chaque fichier doit être placé, vous pouvez utiliser du YAML en haut de votre README.md.
Par exemple, étant donné un dépôt comme celui-ci :
my_dataset_repository/
├── README.md
├── data.csv
└── holdout.csvVous pouvez définir un sous-ensemble pour vos splits en ajoutant le champ configs dans le bloc YAML en haut de votre README.md :
---
configs:
- config_name: default
data_files:
- split: train
path: "data.csv"
- split: test
path: "holdout.csv"
---Vous pouvez sélectionner plusieurs fichiers par split en utilisant une liste de chemins :
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"
---Vous pouvez également utiliser des motifs glob pour lister automatiquement tous les fichiers dont vous avez besoin :
---
configs:
- config_name: default
data_files:
- split: train
path: "data/*.csv"
- split: test
path: "holdout/*.csv"
---Notez que le champ
config_nameest requis même si vous n'avez qu'un seul sous-ensemble.
Sous-ensembles multiples
Votre jeu de données peut contenir plusieurs sous-ensembles de données que vous souhaitez pouvoir utiliser séparément. Par exemple, chaque sous-ensemble possède son propre menu déroulant dans le Dataset Viewer du Hugging Face Hub.
Dans ce cas, vous pouvez définir une liste de sous-ensembles dans le champ configs du fichier 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"
---Notez que l'ordre des sous-ensembles affichés dans le visualiseur est d'abord celui par défaut, puis l'ordre alphabétique.
Vous pouvez définir un sous-ensemble par défaut en utilisant
default: true- config_name: main_data data_files: "main_data.csv" default: trueCela est utile pour définir le sous-ensemble que le Dataset Viewer affiche en premier, ainsi que le sous-ensemble de données que les bibliothèques chargent par défaut.
Répertoire de données
Au lieu de lister des fichiers individuels avec data_files, vous pouvez utiliser data_dir pour pointer vers un répertoire. Les fichiers situés dans ce répertoire sont résolus automatiquement en fonction de leurs extensions. C'est particulièrement utile lorsque vos données sont organisées dans des sous-répertoires :
Par exemple, dans un cas comme celui-ci, vous pouvez simplement utiliser data_dir puisque les données de chaque sous-ensemble sont stockées dans leur propre répertoire :
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"
---Lorsque data_dir est défini, le builder résout les fichiers par rapport à ce répertoire. Si le répertoire contient des fichiers correspondant au motif de nommage par défaut des splits (par ex. train.csv, test.csv), les splits sont attribués automatiquement sans avoir besoin de data_files explicites.
Vous pouvez également combiner data_dir avec data_files pour un contrôle plus fin :
---
configs:
- config_name: default
data_dir: "data"
data_files:
- split: train
path: "training_*.csv"
- split: test
path: "eval_*.csv"
---Dans ce cas, les motifs path de data_files sont résolus par rapport à data_dir.
Paramètres du constructeur
Non seulement data_files, mais d'autres paramètres spécifiques au builder peuvent être passés via YAML, permettant une plus grande flexibilité sur la manière de charger les données sans nécessiter de code personnalisé. Par exemple, définissez le séparateur à utiliser dans chaque sous-ensemble pour charger vos fichiers csv :
---
configs:
- config_name: tab
data_files: "main_data.csv"
sep: "\t"
- config_name: comma
data_files: "additional_data.csv"
sep: ","
---Consultez la documentation des constructeurs spécifiques pour voir les paramètres dont ils disposent.
Update on GitHub