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.Tensorlàm input. - Chuỗi độ dài khác nhau →
tf.RaggedTensorlàm input. - Tensor padded/sparse → chuyển sang
tf.RaggedTensor(bằngfrom_sparsehoặcfrom_tensorvớipadding=-1) trước khi gọiunicode_encode.