假设我有一个4D的Eigen::Tensor T。
同样地,我也有一个4D的Tensorflow::Tensor X,与T具有相同的形状。
int size = T.dimension(0);
int rows = T.dimension(1);
int cols = T.dimension(2);
int channels = T.dimension(3);
TensorShape TS;
TS.AddDim(size);
TS.AddDim(rows);
TS.AddDim(cols);
TS.AddDim(size);
Tensor x( DT_FLOAT, TS);
现在我想将 T 中的数据放入 x 中。
所以我尝试执行以下操作:
x.matrix<float>()() = T;
但当我这样做时,编译器会报错:
无法将'Eigen::Tensor'转换为'Eigen::TensorMap<16> ::Scalar {aka float}'在赋值中。
当我尝试将T转换为TensorMap时,出现更多错误。
我漏掉了什么?