Hub documentation

Tên tệp và các phần chia

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Tên tệp và các phần chia

Để lưu trữ và chia sẻ bộ dữ liệu của bạn, hãy tạo một kho dữ liệu trên Hugging Face Hub và tải lên các tệp dữ liệu của bạn.

Hướng dẫn này sẽ cho bạn biết cách đặt tên cho các tệp và thư mục trong kho dữ liệu của bạn khi tải lên và kích hoạt tất cả các tính năng của Datasets Hub như Dataset Viewer. Xem bộ sưu tập các bộ dữ liệu mẫu đi kèm để biết thêm chi tiết.

Một tập dữ liệu có cấu trúc và định dạng tệp được hỗ trợ sẽ tự động có trình xem tập dữ liệu trên trang của nó trên Hub.

Lưu ý rằng nếu không có cấu trúc nào dưới đây phù hợp với trường hợp của bạn, bạn có thể kiểm soát nhiều hơn cách định nghĩa các phần chia và tập con bằng Cấu hình thủ công.

Trường hợp sử dụng cơ bản

Nếu tập dữ liệu của bạn chưa được chia thành phần train/validation/test, cấu trúc tập dữ liệu đơn giản nhất là chỉ có một tệp: data.csv (cách này hoạt động với bất kỳ định dạng tệp được hỗ trợ và bất kỳ tên tệp nào).

Kho lưu trữ của bạn cũng sẽ chứa tệp README.md, tức là thẻ dữ liệu được hiển thị trên trang dữ liệu của bạn.

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

Các phần chia

Một số mẫu trong kho dữ liệu có thể được sử dụng để gán các tệp nhất định vào các tập huấn luyện/xác minh/kiểm thử.

Tên tệp

Bạn có thể đặt tên cho các tệp dữ liệu của mình theo các phần train, test và validation:

my_dataset_repository/
├── README.md
├── train.csv
├── test.csv
└── validation.csv

Nếu bạn không có bất kỳ phần chia nào phi truyền thống, bạn có thể đặt tên phần chia ở bất kỳ vị trí nào trong tệp dữ liệu. Quy tắc duy nhất là tên phần chia phải được phân tách bằng các ký tự không phải chữ, chẳng hạn như test-file.csv thay vì testfile.csv. Các ký tự phân tách được hỗ trợ bao gồm dấu gạch dưới, dấu gạch nối, khoảng trắng, dấu chấm và chữ số.

Ví dụ, các tên tệp sau đều được chấp nhận:

  • tập huấn luyện: train.csv, my_train_file.csv, train1.csv
  • tập kiểm định: validation.csv, my_validation_file.csv, validation1.csv
  • tập kiểm tra: test.csv, my_test_file.csv, test1.csv

Tên thư mục

Bạn có thể đặt các tệp dữ liệu của mình vào các thư mục khác nhau có tên là train, test và validation, trong đó mỗi thư mục chứa các tệp dữ liệu cho phần chia tương ứng:

my_dataset_repository/
├── README.md
└── data/
    ├── train/
    │   └── data.csv
    ├── test/
    │   └── more_data.csv
    └── validation/
        └── even_more_data.csv

Từ khóa

Có một số cách để tham chiếu đến các phần chia train/validation/test. Phần validation đôi khi được gọi là “dev”, và phần test có thể được gọi là “eval”. Các tên phần chia khác này cũng được hỗ trợ, và các từ khóa sau đây là tương đương:

  • train, training
  • validation, valid, val, dev
  • test, testing, eval, evaluation

Do đó, cấu trúc bên dưới là một kho lưu trữ hợp lệ:

my_dataset_repository/
├── README.md
└── data/
    ├── training.csv
    ├── eval.csv
    └── valid.csv

Nhiều tệp cho mỗi phần

Các phần chia có thể trải dài qua nhiều tệp, ví dụ:

my_dataset_repository/
├── README.md
├── train_0.csv
├── train_1.csv
├── train_2.csv
├── train_3.csv
├── test_0.csv
└── test_1.csv

Hãy đảm bảo tất cả các tệp trong tập train của bạn có train trong tên của chúng (tương tự cho test và validation). Bạn thậm chí có thể thêm tiền tố hoặc hậu tố cho train trong tên tệp (ví dụ như my_train_file_00001.csv).

Để tiện lợi, bạn cũng có thể đặt các tệp dữ liệu của mình vào các thư mục khác nhau. Trong trường hợp này, tên tập chia (split) sẽ được suy ra từ tên thư mục.

my_dataset_repository/
├── README.md
└── data/
    ├── train/
    │   ├── shard_0.csv
    │   ├── shard_1.csv
    │   ├── shard_2.csv
    │   └── shard_3.csv
    └── test/
        ├── shard_0.csv
        └── shard_1.csv

Tên tách tùy chỉnh

Nếu các phần chia của bộ dữ liệu của bạn có tên tùy chỉnh không phải là train, test hoặc validation, thì bạn có thể đặt tên cho các tệp dữ liệu của mình như data/<split_name>-xxxxx-of-xxxxx.csv.

Dưới đây là một ví dụ với ba phần chia, train, test và random:

my_dataset_repository/
├── README.md
└── data/
    ├── train-00000-of-00003.csv
    ├── train-00001-of-00003.csv
    ├── train-00002-of-00003.csv
    ├── test-00000-of-00001.csv
    ├── random-00000-of-00003.csv
    ├── random-00001-of-00003.csv
    └── random-00002-of-00003.csv
Update on GitHub