我训练了一个用于对象检测的张量流模型,输入作为占位符,尺寸为 [1,None,None,3],因为我的训练图像有各种大小。然后我将冻结图(.pb 文件)转换为 tensorRT 图以加快推理速度,但 tensorRT 警告我输入张量具有未知的非批量维度,因此节点将回退到 TF。错误信息是:
2019-05-22 08:59:56.628216: W tensorflow/contrib/tensorrt/convert/convert_nodes.cc:3710] Validation failed for TensorRTInputPH_0 and input slot 0: Input tensor with shape [1,?,?,3] has an unknown non-batch dimension at dim 1
2019-05-22 08:59:56.628262: W tensorflow/contrib/tensorrt/convert/convert_graph.cc:1021] TensorRT node TRTEngineOp_0 added for segment 0 consisting of 160 nodes failed: Invalid argument: Validation failed for TensorRTInputPH_0 and input slot 0: Input tensor with shape [1,?,?,3] has an unknown non-batch dimension at dim 1. Fallback to TF...
我知道我可以在 trt.create_inference_graph 中将 is_dynamic_op 设置为 True,但这会增加运行时间。我想使用这个模型来推断视频,其中所有帧都具有相同的高度和宽度。有没有办法将输入占位符尺寸固定为静态值,而无需重新训练模型?我的输入张量可以通过 get_tensor_by_name 访问