【问题标题】:Is it possible to get intermediate layer output after TensorRT?TensorRT之后是否可以得到中间层输出?
【发布时间】:2020-05-03 23:02:06
【问题描述】:

我们现在有一个训练有素的网络用于分类任务。网络顶顶

所以层 relu_fc1 类似于提取特征,然后是 softmax 到类预测。

现在我们要直接提取这些特征。在正常情况下,我们可以这样做

y = sess.graph.get_tensor_by_name('relu_fc1:0') sess.run(y,...)

很好,但我们仍然想让它更快,所以我们使用 TensorRT 来转换保存的模型。但是,在转换之后,我们无法在 relu_fc1 中获得正确的张量,因为 TensorRT 混合了操作并产生了类似 TRTENgineOp_1 的东西。

我想知道有没有办法在TensorRT之后得到中间层的输出?我想也许我们可以删除网络中的最后一层然后进行转换更容易,但在 tensorflow 中找不到用于删除层的实用材料。

【问题讨论】:

    标签: python tensorflow tensorrt


    【解决方案1】:

    我想知道有没有办法在TensorRT之后得到中间层的输出?我想也许我们可以删除网络中的最后一层然后进行转换更容易,但在 tensorflow 中找不到用于删除层的实用材料。

    对于这个问题,在进行 tf-to-onnx 转换时,可以指定哪一层作为 onnx 模型的最终输出。然后,您可以进行onnx-to-tensorrt 转换。

    更多详情,请参阅tensorflow-onnx--outputs 参数就是你想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-20
      • 2021-04-26
      • 2020-12-27
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 2019-03-18
      相关资源
      最近更新 更多