0

我有一个 tensorflow 模型并转换为 tensorrt 模型。TensorFlow 模型的 uff 转换如下图所示。输入是图像,输出是 Openpose/concat_stage7

NOTE: UFF has been tested with TensorFlow 1.12.0. Other versions are not guaranteed to work
UFF Version 0.6.3
=== Automatically deduced input nodes ===
[name: "image"
op: "Placeholder"
attr {
  key: "dtype"
  value {
    type: DT_FLOAT
  }
}
attr {
  key: "shape"
  value {
    shape {
      dim {
        size: -1
      }
      dim {
        size: -1
      }
      dim {
        size: -1
      }
      dim {
        size: 3
      }
    }
  }
}
]
=========================================

=== Automatically deduced output nodes ===
[name: "Openpose/concat_stage7"
op: "ConcatV2"
input: "Mconv7_stage6_L2/BiasAdd"
input: "Mconv7_stage6_L1/BiasAdd"
input: "Openpose/concat_stage7/axis"
attr {
  key: "N"
  value {
    i: 2
  }
}
attr {
  key: "T"
  value {
    type: DT_FLOAT
  }
}
attr {
  key: "Tidx"
  value {
    type: DT_INT32
  }
}
]
==========================================

Using output node Openpose/concat_stage7
Converting to UFF graph
No. nodes: 463
UFF Output written to cmu/cmu_openpose.uff

Tensorflow 模型输出形状为

self.tensor_output = self.graph.get_tensor_by_name('TfPoseEstimator/Openpose/concat_stage7:0')
(?, ?, ?, 57)

当我运行 tensorrt 时,输出维度是(217500,)?如何与 Tensorflow 模型具有相同的维度?

4

1 回答 1

0

是的,现在一切都解决了,我可以在 TensorRT 中产生与 Tensorflow 模型的输出相同的结果。

问题是 TensorRT 以扁平格式生成输出数组。需要根据需要重新塑造尺寸。

所以我要做的是检查 Tensorflow 输出的维度并相应地重塑。

于 2019-06-07T02:55:41.397 回答