Khả năng tương thích mô hình cho TF1 / TF2

Định dạng mô hình TF Hub

TF Hub cung cấp các phần mô hình có thể tái sử dụng, có thể được tải lại, xây dựng dựa trên và có thể được đào tạo lại trong chương trình TensorFlow. Chúng có hai định dạng khác nhau:

Định dạng mô hình có thể được tìm thấy trên trang mô hình trên tfhub.dev . Tải/suy luận mô hình, tinh chỉnh hoặc tạo mô hình có thể không được hỗ trợ trong TF1/2 dựa trên các định dạng mô hình.

Khả năng tương thích của định dạng Hub TF1

Hoạt động Chế độ tương thích TF1/ TF1 trong TF2 [1] TF2
Đang tải/Suy luận Được hỗ trợ đầy đủ ( hoàn thành hướng dẫn tải định dạng Hub TF1 )
m = hub.Module(handle)
outputs = m(inputs)
Bạn nên sử dụng hub.load
m = hub.load(handle)
outputs = m.signatures["sig"](inputs)
hoặc hub.KerasLayer
m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs)
Tinh chỉnh Được hỗ trợ đầy đủ ( hướng dẫn tinh chỉnh định dạng Hub TF1 hoàn chỉnh )
m = hub.Module(handle,
               trainable=True,
               tags=["train"]*is_training)
outputs = m(inputs)
Lưu ý: các mô-đun không cần biểu đồ tàu riêng biệt sẽ không có thẻ tàu.
Không được hỗ trợ
Sáng tạo Được hỗ trợ đầy đủ (xem hướng dẫn tạo định dạng Hub TF1 hoàn chỉnh )
Lưu ý: Định dạng TF1 Hub hướng tới TF1 và chỉ được hỗ trợ một phần trong TF2. Hãy cân nhắc việc tạo một TF2 SavingModel.
Không được hỗ trợ

Khả năng tương thích của TF2 SavingModel

Không được hỗ trợ trước TF1.15.

Hoạt động Chế độ tương thích TF1.15/ TF1 trong TF2 [1] TF2
Đang tải/Suy luận Sử dụng hub.load
m = hub.load(handle)
outputs = m(inputs)
hoặc hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
Được hỗ trợ đầy đủ ( hoàn thành hướng dẫn tải TF2 SavingModel ). Sử dụng hub.load
m = hub.load(handle)
outputs = m(inputs)
hoặc hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
Tinh chỉnh Được hỗ trợ cho hub.KerasLayer được sử dụng trong tf.keras.Model khi được đào tạo với Model.fit() hoặc được đào tạo trong Công cụ ước tính có model_fn bao bọc Mô hình theo hướng dẫn model_fn tùy chỉnh .
Lưu ý: hub.KerasLayer không điền vào các bộ sưu tập biểu đồ như các API tf.compat.v1.layers hoặc hub.Module cũ đã làm.
Được hỗ trợ đầy đủ ( hoàn thành hướng dẫn tinh chỉnh TF2 SavingModel ). Sử dụng hub.load:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
hoặc hub.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
Sáng tạo API TF2 tf.saved_model.save() có thể được gọi từ trong chế độ tương thích. Được hỗ trợ đầy đủ (xem hướng dẫn tạo TF2 SavingModel hoàn chỉnh )

[1] "Chế độ tương thích TF1 trong TF2" đề cập đến hiệu ứng kết hợp của việc nhập TF2 với import tensorflow.compat.v1 as tf và chạy tf.disable_v2_behavior() như được mô tả trong Hướng dẫn di chuyển TensorFlow .