C++ 如何使用c++;应用程序编程接口?
假设我有一个C++ 如何使用c++;应用程序编程接口?,c++,tensorflow,eigen,C++,Tensorflow,Eigen,假设我有一个张量t,它的形状{3,4,5}。我想找到第一维度和第二维度的最大值,所以这个操作的结果将是一个形状为{5,2}的矩阵 到目前为止,我试图通过从tensorflow::Tensor获取Eigen::Tensor并在循环中使用maxCoeff来实现这一点,因此: auto t_mapped = t.tensor<float, 3>(); Eigen::Matrix<float, 5, 2> maximums; for (int i = 0; i < 5;
张量t
,它的形状{3,4,5}
。我想找到第一维度和第二维度的最大值,所以这个操作的结果将是一个形状为{5,2}
的矩阵
到目前为止,我试图通过从tensorflow::Tensor
获取Eigen::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;
}
auto t_mapped=t.tensor();
本征::矩阵最大值;
对于(int i=0;i<5;i++){
矩阵xf::索引maxRow,maxCol;
t_mapped.maxCoeff(&maxRow,&maxCol);
最大值(i,0)=最大值;
最大值(i,1)=最大值;
}
但这不起作用,因为t.tensor()
返回的是Eigen::TensorMap
,而不是Eigen::tensor
。关于Eigen::TensorMap
类的文档似乎不多
如何从
Eigen::TensorMap
中获取Eigen::TensorMap
,或者如何使用tensorflow API执行我试图执行的操作?为什么不使用axis=0调用tf.argmax
?这会返回最大元素吗?不是它的索引?argmax返回索引,max返回元素