2
我有一个4D numpy阵列,但每个元素都是可变大小的3D体积。本质上它是一个3D卷的列表。所以numpy的阵列有形状...Numpy填充4D单元全部为零
(Pdb) batch_x.shape
(3,)
并采取元素i
在该列表中,它看起来像这样...
(Pdb) batch_x[i].shape
(7, 70, 66)
我想垫每个3D体积零,用下面的代码...
for i in range(batch_size):
pdb.set_trace()
batch_x[i] = np.lib.pad(batch_x[i], (n_input_z - int(batch_x[i][:,0,0].shape[0]),
n_input_x - int(batch_x[i][0,:,0].shape[0]),
n_input_y - int(batch_x[i][0,0,:].shape[0])),
'constant', constant_values=(0,0,0))
batch_y[i] = np.lib.pad(batch_y[i], (n_input_z - int(batch_y[i][:,0,0].shape[0]),
n_input_x - int(batch_y[i][0,:,0].shape[0]),
n_input_y - int(batch_y[i][0,0,:].shape[0])),
'constant', constant_values=(0,0,0))
还有就是如下错误...
*** ValueError: Unable to create correctly shaped tuple from (3, 5, 9)
我想填充每个3D卷,使它们都具有相同的形状 - [10,75,75]
。请记住,就像我上面显示的那样,batch_x[i].shape = (7,70,66)
因此,错误消息至少告诉我我的尺寸应该是正确的。
证据,调试......
(Pdb) int(batch_x[i][:,0,0].shape[0])
7
(Pdb) n_input_z
10
(Pdb) (n_input_z - int(batch_x[i][:,0,0].shape[0]))
3
这样做了,谢谢! –