Я тестировал модуль Tensor от Eigen3 для нового проекта.Даже когда модуль еще не закончен, он, кажется, обладает большей частью необходимой мне функциональности.
Но есть одна часть, которую я совсем не понимаю.Всякий раз, когда у меня есть большой тензор и я хочу извлечь из него срез, Eigen делает копию данных.
Есть ли способ не копировать данные, а вместо этого указать на исходный блок данных вslice?
Например, если я делаю:
Tensor<float, 3> A(100,1000,1000); A.setZero();
Eigen::array<int, 3> offsets = {0, 0, 0};
Eigen::array<int, 3> extents = {2, 2, 2};
Tensor<float, 3> c = A.slice(offsets, extents);
A(0,0,0) = 1.0;
cerr << c << endl;
Но первый элемент "c" по-прежнему равен нулю, вместо сопоставления с измененным "A (0,0,0)Блок данных.