Я ищу способ написать функцию, которая принимает два теано-выражения a
и b
и выполняет над ними поэлементную операцию (скажем, сложение), чтобы dimensions(a + b) = dimensions(a) + dimenisons(b)
.
В моем случае a
будет иметь одно измерение, а b
— два или три.
Я думал о том, чтобы сделать что-то вроде a.dimshuffle('x', 'x', 0) + a.dimshuffle(0, 1, 'x')
для двумерного b
, но я не знаю, как получить его количество измерений. b.shape
является теано-выражением и не поддерживает len()
.
Конечной целью этого является вычисление расстояния от полилинии в нескольких точках, этот метод будет использоваться несколько раз, где a
будет иметь форму (number_of_control_points,)
, а b
будет координатами точек выборки 2D или 3D сетки, в которых я буду оценивать расстояние .
Могу ли я получить количество измерений выражения как обычное значение Python без оценки выражения?
Альтернативный вопрос: есть ли способ выполнить операцию напрямую без явного перетасовки?