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

Xuất mô hình TensorFlow kèm layer tiền xử lý cho production

Để deploy mô hình NLP, tốt nhất là gộp layer vector hóa (TextVectorization) vào trong mô hình, tạo thành một SavedModel nhận raw string input.

Mã export mô hình

print("Đang export mô hình")
export_model = tf.keras.Sequential([
    binary_vectorize_layer,
    binary_model,
    layers.Activation('sigmoid')
])

print("Compile mô hình export")
export_model.compile(
    loss=losses.SparseCategoricalCrossentropy(from_logits=False),
    optimizer='adam',
    metrics=['accuracy']
)

print("Test với raw_test_ds (raw strings)")
loss, accuracy = export_model.evaluate(raw_test_ds)
print("Độ chính xác mô hình: {:2.2%}".format(binary_accuracy))

Kết quả

Đang export mô hình
Compile mô hình export
Test với raw_test_ds (raw strings)
250/250 [==============================] - 4s 13ms/step - loss: 0.5296 - accuracy: 0.8078
Độ chính xác mô hình: 81.10%

Giải thích

  • Tạo Sequential mới ghép: vectorize_layer + trained_model + activation.
  • Điều này cho phép mô hình nhận thẳng chuỗi raw string, tự động vector hóa bên trong.
  • Compile lại với from_logits=False vì đã có sigmoid activation.
  • Đánh giá trên raw_test_ds (chưa vector hóa) cho accuracy ~81%.
  • Mô hình này sẵn sàng lưu bằng model.save() để serving.

Nguồn: TensorFlow Text Loading Tutorial