【发布时间】:2018-04-17 15:46:14
【问题描述】:
我在 C++ 中有一个 tensorflow::Tensor batch,形状为 [2, 720, 1280, 3](#images x height x width x #channels)。
我想得到另一个只有第一张图像的张量,因此我会有一个形状为 [1, 720, 1280, 3] 的张量。换句话说,我想要:
tensorflow::Tensor first = batch[0]
实现它的最有效方法是什么?
我知道如何在 python 中做到这一点,但是 C++ api 和文档不如 python。
【问题讨论】:
-
也许你可以显示一些 sn-p 的上下文?你有一个
tensorflow::Tensor,对吧?您想用该图像生成另一个tensorflow::Tensor,或者将该数据提取到其他东西中? -
没错。我有一个 tensorflow::Tensor,我想要一个只有第一张图像的“子张量”。换句话说,我想要的基本上是 originalTensor[0, :, :, :]。我将根据您的建议编辑我的问题。
-
谢谢。那么您期望结果中的形状是
[1, 720, 1280, 3]还是[720, 1280, 3]?我知道元素的数量是相同的,但张量的构造略有不同。在 Python 中,你会得到第一个batch[:1]和第二个batch[0]。 -
我更喜欢形状为 [1, 720, 1280, 3] 的结果,但毕竟 [720, 1280, 3] 可能不是问题。
标签: c++ tensorflow