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

Tìm trạng thái tiền xử lý (preprocessing layer) của dataset trong TensorFlow

TensorFlow TextVectorization layer cần được adapt trên dữ liệu để xây dựng từ vựng trước khi dùng.

Ví dụ: Adapt layer trên dataset chỉ có text


# Tạo dataset chỉ chứa text (bỏ label)
train_text = raw_train_ds.map(lambda text, label: text)

# Adapt: quét toàn bộ dữ liệu để xây vocab
binary_vectorize_layer.adapt(train_text)
int_vectorize_layer.adapt(train_text)

# Định nghĩa hàm vector hóa binary
def binary_vectorize_text(text, label):
    text = tf.expand_dims(text, -1)
    return binary_vectorize_layer(text), label

Kết quả


A text-only dataset without labels is prepared
The adapt method is called
The result is displayed on the console

Giải thích

  • adapt() duyệt dữ liệu một lần, thống kê tần suất từ, xây vocab top-k.
  • Phải gọi adapt trước khi dùng layer trong model hoặc map.
  • Có thể adapt trên tập train, sau đó áp dụng cho val/test.

Nguồn: TensorFlow Text Tutorial