将 keras 序列模型转换为 tensorrt

convert a keras sequential model to tensor rt

如何将keras序列模型转换为tensor-rt?我正在研究人脸识别,我在面部编码上使用 keras 顺序模型创建了模型。现在我想在 jtson xavier 上实现它。 这是模型架构:

    def Simple_NeuralNet(number_classes):
        model = Sequential()
        model.add(Dense(units=256, activation='relu', input_dim=128))
        model.add(BatchNormalization())
        model.add(Dense(units=1024, activation='relu'))
        model.add(Dropout(0.5))
        model.add(Dense(units=512, activation='relu'))
        model.add(BatchNormalization())
        model.add(Dense(units=number_classes, activation='softmax'))
        return model

签出 tf2onnx(https://github.com/onnx/tensorflow-onnx) or keras2onnx (https://github.com/onnx/keras-onnx) to convert your model to ONNX format. There are more some details on conversion to ONNX in this post:

那么您应该能够使用以下方法快速验证您的模型:

trtexec --onnx=model.onnx

或 TensorRT API 在 TensorRT 6.0 (Jetson) 中转换您的模型。

如果使用 TensorRT 7.0,请务必将 --explicitBatch 标志添加到 trtexec,或者 NetworkDefinitionCreationFlag.EXPLICIT_BATCH 如果使用 API:

trtexec --explicitBatch --onnx=model.onnx

TensorRT 版本附带了一些适用于 C++ 和 Python 的示例,演示了如何使用 API 将 ONNX 模型转换为 TensorRT。示例可以在 TRT_RELEASE_DIR/samples.

中找到