【问题标题】:Deployment of keras layer UpSampling2D to tensorRT将keras层UpSampling2D部署到tensorRT
【发布时间】:2019-11-25 03:30:04
【问题描述】:

Kears/TensorFlow 层 UpSampling2D() 无法部署到 TensorRT(已知行为)。

我正在尝试通过将层 UpSampling2D() 替换为具有并行行为的其他 Keras 层来找到解决方案。

理论上Conv2DTranspose() 应该通过设置特定的权重并在训练中固定层的权重来完成这项工作。

我正在寻求有关如何做到这一点的帮助。

【问题讨论】:

    标签: tensorflow keras deep-learning semantic-segmentation tensorrt


    【解决方案1】:

    我通过将模型中的所有 UpSampling 2D() 替换为 Conv2DTranspose() 进行了测试运行,然后将其转换为 UFF。 (我只对模型进行了 1 个 epoch 的训练以节省时间)。 然后转换器抱怨 DataFormatVecPermute。

    Converting conv2d_transpose_1/conv2d_transpose-0-VecPermuteNHWCToNCHW-LayoutOptimizer as custom op: DataFormatVecPermute
    Warning: No conversion function registered for layer: DataFormatVecPermute yet.
    

    C++ 中的解析器也无法成功解析这个模型。

    【讨论】: