Hub documentation
Cấu hình thủ công
Cấu hình thủ công
Hướng dẫn này sẽ cho bạn thấy cách cấu hình một cấu trúc tùy chỉnh cho kho dữ liệu của bạn. bộ sưu tập các tập dữ liệu mẫu đi kèm giới thiệu từng phần của tài liệu.
Một dataset có cấu trúc và định dạng tệp được hỗ trợ sẽ tự động có Dataset Viewer trên trang dataset của nó trên Hub. Bạn có thể sử dụng YAML để định nghĩa các splits, subsets và tham số builder được Viewer sử dụng.
Bạn cũng có thể định nghĩa nhiều tập con (còn gọi là “cấu hình”) cho cùng một bộ dữ liệu (ví dụ: nếu bộ dữ liệu có nhiều tệp độc lập khác nhau).
Các phần chia
Nếu bạn có nhiều tệp và muốn xác định tệp nào thuộc phần chia (split) nào, bạn có thể sử dụng YAML ở đầu tệp README.md của mình.
Ví dụ, với một kho lưu trữ như sau:
my_dataset_repository/
├── README.md
├── data.csv
└── holdout.csvBạn có thể định nghĩa một tập con cho các phần chia của mình bằng cách thêm trường configs vào khối YAML ở đầu tệp README.md:
---
configs:
- config_name: default
data_files:
- split: train
path: "data.csv"
- split: test
path: "holdout.csv"
---Bạn có thể chọn nhiều tệp cho mỗi split bằng cách sử dụng một danh sách các đường dẫn:
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"
---Hoặc bạn có thể sử dụng các mẫu glob để tự động liệt kê tất cả các tệp cần thiết:
---
configs:
- config_name: default
data_files:
- split: train
path: "data/*.csv"
- split: test
path: "holdout/*.csv"
---Lưu ý rằng trường
config_namelà bắt buộc ngay cả khi bạn chỉ có một subset duy nhất.
Nhiều tập con
Bộ dữ liệu của bạn có thể có một vài tập con dữ liệu mà bạn muốn có thể sử dụng riêng biệt. Ví dụ, mỗi tập con có một menu thả xuống riêng trong Dataset Viewer trên Hugging Face Hub.
Trong trường hợp đó, bạn có thể định nghĩa một danh sách các tập con bên trong trường configs trong 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"
---Lưu ý rằng thứ tự các tập con hiển thị trong trình xem là mặc định trước, sau đó là theo thứ tự bảng chữ cái.
Bạn có thể đặt một tập con mặc định bằng cách sử dụng
default: true- config_name: main_data data_files: "main_data.csv" default: trueĐiều này hữu ích để xác định tập con nào mà Dataset Viewer hiển thị trước tiên, và tập con dữ liệu nào mà các thư viện sẽ tải theo mặc định.
Thư mục Dữ liệu
Thay vì liệt kê từng tệp riêng lẻ bằng data_files, bạn có thể dùng data_dir để trỏ đến một thư mục. Các tệp bên trong thư mục đó sẽ được xác định tự động dựa trên phần mở rộng của tệp. Cách này đặc biệt hữu ích khi dữ liệu của bạn được tổ chức trong các thư mục con:
Ví dụ, trong một trường hợp như thế này, bạn có thể đơn giản sử dụng data_dir vì dữ liệu của mỗi tập con nằm trong thư mục riêng của nó:
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"
---Khi data_dir được đặt, builder sẽ phân giải các tệp tương đối so với thư mục đó. Nếu thư mục chứa các tệp khớp với mẫu đặt tên split mặc định (ví dụ: train.csv, test.csv), các split sẽ được gán tự động mà không cần chỉ định rõ data_files.
Bạn cũng có thể kết hợp data_dir với data_files để có nhiều quyền kiểm soát hơn:
---
configs:
- config_name: default
data_dir: "data"
data_files:
- split: train
path: "training_*.csv"
- split: test
path: "eval_*.csv"
---Trong trường hợp này, các mẫu path trong data_files được giải quyết tương đối so với data_dir.
Tham số Builder
Không chỉ data_files, mà các tham số cụ thể của builder khác cũng có thể được truyền qua YAML, cho phép linh hoạt hơn trong cách tải dữ liệu mà không cần bất kỳ mã tùy chỉnh nào. Ví dụ, định nghĩa bộ phân tách nào sẽ được sử dụng trong tập con nào để tải các tệp csv của bạn:
---
configs:
- config_name: tab
data_files: "main_data.csv"
sep: "\t"
- config_name: comma
data_files: "additional_data.csv"
sep: ","
---Tham khảo tài liệu của các builder cụ thể để xem chúng có những tham số nào.
Update on GitHub