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
TextLineDatasettạ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àmlabelerđể gắn index làm nhãn cho từng dòng.- Kết quả:
labeled_data_setschứa 3 dataset đã gán nhãn, sẵn sàng cho bước concat và shuffle.