gpt4 book ai didi

c++ - 如何使用 c++ api 获取 rank 3 tensorflow::Tensor 的最大值的索引?

转载 作者:行者123 更新时间:2023-11-28 05:08:55 24 4
gpt4 key购买 nike

假设我有一个 Tensor t其形状为 {3, 4, 5} .我想找到第一维和第二维的最大值,因此此操作的结果将是形状为 {5, 2} 的矩阵.

到目前为止,我已经尝试通过获取 Eigen::Tensor 来实现这一点来自 tensorflow::Tensor并使用 maxCoeff在一个循环中,所以:

auto t_mapped = t.tensor<float, 3>();
Eigen::Matrix<float, 5, 2> maximums;

for (int i = 0; i < 5; i++){
MatrixXf::Index maxRow, maxCol;
t_mapped.maxCoeff(&maxRow, &maxCol);
maximums(i, 0) = maxRow;
maximums(i, 1) = maxCol;
}

但这行不通,因为 t.tensor<float, 3>()返回 Eigen::TensorMap<Eigen::Tensor<float, 3, 1, long>, 16, MakePointer> ,不是 Eigen::Tensor .关于 Eigen::TensorMap 的文档似乎不多类。

我怎样才能得到 Eigen::Tensor来自 Eigen::TensorMap或者做我想用 tensorflow API 做的事情?

最佳答案

为什么不用 axis=0 调用 tf.argmax

关于c++ - 如何使用 c++ api 获取 rank 3 tensorflow::Tensor 的最大值的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43957052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com