gpt4 book ai didi

c++ - 如何计算 eigen::Tensor 中非零的数量

转载 作者:行者123 更新时间:2023-11-28 04:13:20 28 4
gpt4 key购买 nike

如果我用bool张量求和,结果永远是1

Eigen::Tensor<int,2> my_rankx (3,3);
my_rankx.setValues(
{
{1, 2, 3},
{0, 0, 0},
{11, 12, 0}
});

auto number_matrix = (my_rankx.constant(static_cast<int>(0))==my_rankx);
cout<<number_matrix.sum()<<endl; // result of cout is 1

最佳答案

(my_rankx.constant(0) == my_rankx)bool 的张量s,并添加 bool s 一起导致 falsetrue , 转换为 01分别。 (顺便说一句,问题中的 static_cast<int>(0) 是多余的,因为 0int 类型。)

您可以使用 std::count 连同 data() 相反:

std::cout << std::count(my_rankx.data(), my_rankx.data() + my_rankx.size(), 0)
<< "\n";

关于c++ - 如何计算 eigen::Tensor<T,2> 中非零的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57212685/

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