Cách chuyển đổi file TensorFlow từ định dạng .pb sang .h5
Hướng dẫn chi tiết cách chuyển đổi mô hình TensorFlow từ định dạng file .pb sang .h5, giúp bạn dễ dàng lưu trữ và tải lại mô hình để sử dụng trong các ứng dụng machine learning.
Trong bài viết này, chúng ta sẽ khám phá cách chuyển đổi một mô hình TensorFlow đã được lưu ở định dạng Protocol Buffers (.pb) sang định dạng HDF5 (.h5). Định dạng .h5 cho phép lưu trữ mô hình bao gồm cấu trúc, trọng số, và cả thông tin về trình tự huấn luyện.
Mã Python:
import tensorflow as tf
def convert_pb_to_h5(pb_model_path, h5_model_path):
# Load the TensorFlow model from .pb file
model = tf.saved_model.load(pb_model_path)
# Convert the loaded model to Keras model
concrete_func = model.signatures[tf.saved_model.DEFAULT_SERVING_SIGNATURE_DEF_KEY]
keras_model = tf.keras.Model(inputs=concrete_func.inputs, outputs=concrete_func.outputs)
# Save the Keras model to .h5 format
keras_model.save(h5_model_path)
# Đường dẫn tới file .pb và file .h5 mong muốn
pb_model_path = 'path/to/your/model.pb'
h5_model_path = 'path/to/your/model.h5'
# Gọi hàm để chuyển đổi
convert_pb_to_h5(pb_model_path, h5_model_path)
Giải thích chi tiết từng dòng code:
import tensorflow as tf
: Nhập thư viện TensorFlow.def convert_pb_to_h5(pb_model_path, h5_model_path)
: Định nghĩa hàm để chuyển đổi file từ .pb sang .h5.model = tf.saved_model.load(pb_model_path)
: Tải mô hình từ file .pb.concrete_func = model.signatures[tf.saved_model.DEFAULT_SERVING_SIGNATURE_DEF_KEY]
: Lấy chữ ký mặc định của mô hình.keras_model = tf.keras.Model(...)
: Tạo mô hình Keras từ mô hình đã tải.keras_model.save(h5_model_path)
: Lưu mô hình Keras dưới dạng file .h5.pb_model_path
vàh5_model_path
: Đường dẫn tới các file đầu vào và đầu ra tương ứng.convert_pb_to_h5(...)
: Gọi hàm để thực hiện chuyển đổi.
Yêu cầu hệ thống:
- Python 3.x
- TensorFlow 2.x
Cách cài đặt các thư viện:
Sử dụng pip để cài đặt TensorFlow:
pip install tensorflow
Lời khuyên:
- Đảm bảo rằng mô hình TensorFlow của bạn được xây dựng và lưu một cách chính xác để tránh lỗi khi tải.
- Kiểm tra kỹ lưỡng mô hình sau khi chuyển đổi để đảm bảo rằng nó hoạt động đúng như mong đợi.