Đị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 Hub TF1 tùy chỉnh. Mục đích sử dụng chính của nó là ở TF1 (hoặc chế độ tương thích TF1 trong TF2) thông qua API hub.Module của nó. Chi tiết tương thích đầy đủ bên dưới .
- Định dạng TF2 SavingModel gốc. Mục đích sử dụng chính của nó là trong TF2 thông qua API hub.load và hub.KerasLayer . Chi tiết tương thích đầy đủ bên dưới .
Đị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 .