最近在转deepface的代码
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import (
Conv2D,
MaxPooling2D,
AveragePooling2D,
Flatten,
Dense,
Dropout,
)
import tf2onnx
num_classes = 7
model = Sequential()
# 1st convolution layer
model.add(Conv2D(64, (5, 5), activation="relu", input_shape=(48, 48, 1)))
model.add(MaxPooling2D(pool_size=(5, 5), strides=(2, 2)))
# 2nd convolution layer
model.add(Conv2D(64, (3, 3), activation="relu"))
model.add(Conv2D(64, (3, 3), activation="relu"))
model.add(AveragePooling2D(pool_size=(3, 3), strides=(2, 2)))
# 3rd convolution layer
model.add(Conv2D(128, (3, 3), activation="relu"))
model.add(Conv2D(128, (3, 3), activation="relu"))
model.add(AveragePooling2D(pool_size=(3, 3), strides=(2, 2)))
model.add(Flatten())
# fully connected neural networks
model.add(Dense(1024, activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(1024, activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(num_classes, activation="softmax"))
model.load_weights("facial_expression_model_weights.h5")
onnx_model, _ = tf2onnx.convert.from_keras(model)
import onnxmltools
onnxmltools.utils.save_model(onnx_model, 'facial_expression_model.onnx')
# tf2onnx.convert.export_onnx_model(onnx_model, 'facial_expression_model.onnx')
# tf2onnx.save_model(onnx_model, 'facial_expression_model.onnx')
这里注意安装了onnxmltool后会改变
protobuf的版本需要重新安装
pip install protobuf==3.20.0