преобразовать последовательную модель keras в тензорную 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

person Nitish Jha    schedule 24.01.2020    source источник


Ответы (1)


Оформить заказ tf2onnx (https://github.com/onnx/tensorflow-onnx) или keras2onnx ( https://github.com/onnx/keras-onnx), чтобы преобразовать вашу модель в ONNX. формат. Подробнее о преобразовании в ONNX см. в этом сообщении: https://stackoverflow.com/a/59793636/10993413 .

Затем вы сможете быстро проверить свою модель, используя:

trtexec --onnx=model.onnx

или API TensorRT для преобразования вашей модели в TensorRT 6.0 (Jetson).

При использовании TensorRT 7.0 обязательно добавьте флаг --explicitBatch в trtexec или NetworkDefinitionCreationFlag.EXPLICIT_BATCH при использовании API:

trtexec --explicitBatch --onnx=model.onnx

Релиз TensorRT поставляется с некоторыми примерами как для C++, так и для Python, которые демонстрируют, как преобразовать модель ONNX в TensorRT с помощью API. Образцы можно найти в TRT_RELEASE_DIR/samples.

person Ryan McCormick    schedule 26.01.2020