Каков наилучший способ использовать умножение eigen :: matrix в тензорном потоке? Преобразовать тензор в матрицу, а затем преобразовать его обратно?

Я хочу добавить новый оператор в C ++ в tenorflow. И я хочу применить матричное умножение к тензору. Я преобразовываю тензор в Eigen :: matrix, чтобы получить продукт, а затем преобразовываю его обратно в тензор.

EigenTensor<float> Mh_chip = Tmh.chip(i, 0);
EigenTensor<float> h_chip = Th.chip(i, 0);
auto Mh = EigenMatrixMap<float>(Mh_chip.data(), Mh_chip.dimension(0), Mh_chip.dimension(1));
auto h = EigenMatrixMap<float>(h_chip.data(), h_chip.dimension(0), h_chip.dimension(1));
EigenMatrix<float> h_p = Mh * h;
Th_p.chip(i, 0) = EigenTensorMap<float>(h_p.data(), h_chip.dimensions());

Писать код, как это больно. Любой совет?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]