Взгляните на tf.tile
, который повторяет тензор по одному из его измерений:
y3 = tf.tile(numpy_imgs, (1, 1, 1, 3))
Если вы хотите дополнить его нулевыми тензорами, вы должны использовать tf.concat
(или np.concatenate
вместо stack
.
dim = np.zeros((227, 227, 2))
for i in range(0, 10):
R = np.concatenate((t[i], dim), axis=2)
...
Вы можете даже сделать это более кратко, обрабатывая все партии сразу:
dim = np.zeros((10, 227, 227, 2))
y3 = np.concatenate((numpy_imgs, dim), axis=3
Вот более общий пример:
import numpy as np
def main():
i = np.random.random((10, 227, 227, 1))
dim = np.zeros((10, 227, 227, 2))
print(i.shape)
print(dim.shape)
print(np.concatenate((i, dim), axis=3).shape)
if __name__ == '__main__':
main()
(10, 227, 227, 1)
(10, 227, 227, 2)
(10, 227, 227, 3)