0
私はTensor t
の形を持っています。{3, 4, 5}
です。私は第1次元と第2次元の最大値を探したいので、この演算の結果は形状が{5, 2}
の行列になります。どのようにして、ランク3の最大値のインデックスを得ることができますテンソル::テンソルは、C + +のAPIを使用して?
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
を返すので、これは動作しません:
は、これまでのところ私はそう、tensorflow::Tensor
からEigen::Tensor
を取得し、ループ内maxCoeff
を使用してこれにしようとしています。 Eigen::TensorMap
クラスには多くのドキュメントがないようです。
Eigen::Tensor
をEigen::TensorMap
から取得するか、テンソルフローAPIを使って何をしようとしていますか?
最大の要素を返すことはありませんか?それのインデックスではない? –
argmaxはインデックスを返し、maxは要素を返します –