Hub documentation
Configuración manual
Configuración manual
Esta guía le mostrará cómo configurar una estructura personalizada para su repositorio de datos. La colección de conjuntos de datos de ejemplo muestra cada sección de la documentación.
Un conjunto de datos con una estructura y formatos de archivo admitidos tiene automáticamente un visor de conjuntos de datos en su página de conjunto de datos en el Hub. Puede usar YAML para definir las divisiones, subconjuntos y parámetros del constructor que utiliza el visor.
También es posible definir varios subconjuntos (también llamados “configuraciones”) para el mismo conjunto de datos (por ejemplo, si el conjunto de datos tiene varios archivos independientes).
Divisiones
Si tienes varios archivos y quieres definir en qué división va cada uno, puedes usar YAML al inicio de tu README.md.
Por ejemplo, dado un repositorio como este:
my_dataset_repository/
├── README.md
├── data.csv
└── holdout.csvPuedes definir un subconjunto para tus divisiones añadiendo el campo configs en el bloque YAML en la parte superior de tu README.md:
---
configs:
- config_name: default
data_files:
- split: train
path: "data.csv"
- split: test
path: "holdout.csv"
---Puede seleccionar varios archivos por división usando una lista de rutas:
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"
---O bien, puede usar patrones glob para listar automáticamente todos los archivos que necesita:
---
configs:
- config_name: default
data_files:
- split: train
path: "data/*.csv"
- split: test
path: "holdout/*.csv"
---Tenga en cuenta que el campo
config_namees obligatorio incluso si tiene un solo subconjunto.
Varios subconjuntos
Es posible que su conjunto de datos tenga varios subconjuntos de datos que desee poder utilizar por separado. Por ejemplo, cada subconjunto tiene su propio menú desplegable en el visor de conjuntos de datos de Hugging Face Hub.
En ese caso, puedes definir una lista de subconjuntos dentro del campo configs en 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"
---Tenga en cuenta que el orden de los subconjuntos mostrado en el visor es primero el predeterminado y luego el alfabético.
Puede establecer un subconjunto predeterminado usando
default: true- config_name: main_data data_files: "main_data.csv" default: trueEsto es útil para establecer qué subconjunto muestra primero el Dataset Viewer y qué subconjunto cargan las bibliotecas de datos de forma predeterminada.
Directorio de datos
En lugar de enumerar archivos individuales con data_files, puede usar data_dir para apuntar a un directorio. Los archivos dentro de ese directorio se resuelven automáticamente en función de las extensiones de archivo. Esto es especialmente útil cuando sus datos están organizados en subdirectorios:
Por ejemplo, en un caso como este, puedes usar simplemente data_dir ya que los datos de cada subconjunto se encuentran en su propio directorio:
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"
---Cuando se establece data_dir, el builder resuelve los archivos de forma relativa a ese directorio. Si el directorio contiene archivos que coinciden con el patrón de nomenclatura predeterminado de los splits (p. ej. train.csv, test.csv), los splits se asignan automáticamente sin necesidad de especificar data_files explícitamente.
También puedes combinar data_dir con data_files para tener más control:
---
configs:
- config_name: default
data_dir: "data"
data_files:
- split: train
path: "training_*.csv"
- split: test
path: "eval_*.csv"
---En este caso, los patrones de path en data_files se resuelven de forma relativa a data_dir.
Parámetros del constructor
No solo data_files, sino también otros parámetros específicos del builder pueden pasarse mediante YAML, lo que permite mayor flexibilidad en la forma de cargar los datos sin necesidad de código personalizado. Por ejemplo, definir qué separador usar en qué subconjunto para cargar tus archivos csv:
---
configs:
- config_name: tab
data_files: "main_data.csv"
sep: "\t"
- config_name: comma
data_files: "additional_data.csv"
sep: ","
---Consulte la documentación de los constructores específicos para ver qué parámetros tienen.
Update on GitHub