Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tải bộ dữ liệu Iliad với tf.data.TextLineDataset

tf.data.TextLineDataset là cách hiệu quả để đọc file văn bản lớn dòng per dòng, mỗi dòng trở thành một mẫu dữ liệu - phù hợp cho bài toán phân loại câu đơn lẻ.

Mã tải dữ liệu

def labeler(example, index):
    return example, tf.cast(index, tf.int64)

print("Tạo danh sách rỗng")
labeled_data_sets = []

print("Duyệt qua tên file, tạo dataset từ TextLineDataset")
for i, file_name in enumerate(FILE_NAMES):
    lines_dataset = tf.data.TextLineDataset(str(parent_dir/file_name))
    labeled_dataset = lines_dataset.map(lambda ex: labeler(ex, i))
    labeled_data_sets.append(labeled_dataset)

Kết quả

Tạo danh sách rỗng
Duyệt qua tên file, tạo dataset từ TextLineDataset method

Giải thích

  • TextLineDataset tạo dataset từ file text, mỗi dòng là một example.
  • Khác với text_dataset_from_directory (coi cả file là một example), TextLineDataset phù hợp cho dữ liệu line-based.
  • Duyệt qua 3 file (cowper.txt, derby.txt, butler.txt), gán nhãn 0, 1, 2 tương ứng.
  • map() áp dụng hàm labeler để gắn index làm nhãn cho từng dòng.
  • Kết quả: labeled_data_sets chứa 3 dataset đã gán nhãn, sẵn sàng cho bước concat và shuffle.

Nguồn: TensorFlow Text Loading Tutorial