У меня 4-тензор x
. 6-тензор y
вычисляется следующим образом:
x = np.random.randn(64, 28, 28, 1)
strided_shape = 64, 26, 26, 3, 3, 1
y = numpy.lib.stride_tricks.as_strided(x, strided_shape, strides=(x.strides[0], x.strides[1], x.strides[2], x.strides[1], x.strides[2], x.strides[3]))
strided_shape
в общем может иметь любую форму, если первое и последнее измерения соответствуют размерам x
(это просто конкретный пример).
Мой вопрос: используя y
(и x.shape
и x.strides
кортежи), можно ли восстановить исходный тензор x
, снова используя as_strided
, reshape
, sum
, et c.? Примечание: на самом деле я не планирую применять указанный процесс к самому y
; скорее, я хочу выполнить процедуру с тензором той же формы, что и y
.