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

Cách mã hóa nhiều chuỗi cùng độ dài với TensorFlow và Python

Khi mã hóa nhiều chuỗi cùng độ dài, sử dụng tf.Tensor làm đầu vào. Khi chuỗi có độ dài khác nhau, phải dùng tf.RaggedTensor. Nếu tensor chứa chuỗi ở dạng padded/sparse, cần chuyển thành tf.RaggedTensor trước khi gọi unicode_encode.

Mã ví dụ

print("Mã hóa nhiều chuỗi cùng độ dài -> tf.Tensor")
tf.strings.unicode_encode([[99, 97, 116], [100, 111, 103], [99, 111, 119]], output_encoding='UTF-8')

print("Mã hóa chuỗi độ dài khác nhau -> tf.RaggedTensor")
tf.strings.unicode_encode(batch_chars_ragged, output_encoding='UTF-8')

print("Tensor padded/sparse -> chuyển RaggedTensor trước khi encode")
tf.strings.unicode_encode(
    tf.RaggedTensor.from_sparse(batch_chars_sparse),
    output_encoding='UTF-8')
tf.strings.unicode_encode(
    tf.RaggedTensor.from_tensor(batch_chars_padded, padding=-1),
    output_encoding='UTF-8')

Nguồn mã: TensorFlow Unicode Tutorial

Giải thích

  • Chuỗi cùng độ dài → tf.Tensor làm input.
  • Chuỗi độ dài khác nhau → tf.RaggedTensor làm input.
  • Tensor padded/sparse → chuyển sang tf.RaggedTensor (bằng from_sparse hoặc from_tensor với padding=-1) trước khi gọi unicode_encode.