如何使用python将较小的矩阵散布在较大的矩阵中?

时间:2019-02-25 20:36:52

标签: python python-3.x numpy matrix

我有一个尺寸为28x28的矩阵,但对于49999个样本(这意味着w_expand=np.zeros((49999,28,28),dtype='float32')),我还有一个较小的具有随机值的矩阵(wt_random=np.random.randint(2, size=(49999,4,4))),我想将第一个矩阵分成7x7块,并将第二个矩阵的每个元素放在7x7块的中间像素中。如果只是一个矩阵,我知道应该怎么做,但是对于此示例,我不知道该怎么做。能否请你帮我怎么用python做到这一点。我还有另一个问题。如果我想将小矩阵扩展为大矩阵,该怎么办?这意味着我将第一个矩阵划分为7x7块,然后每个7x7块的所有像素都具有较小矩阵的每个像素的值。 (第一个7x7块具有4x4矩阵的第一个像素的值)我对python不太熟悉。谢谢。 我使用了这个循环,

w_expand=np.zeros((49999,28,28),dtype='float32')
wv_expand=np.zeros((9999,28,28),dtype='float32')
wt_random=np.random.randint(2, size=(49999,4,4))
wt_random=wt_random.astype(np.float32)
wv_random=np.random.randint(2, size=(9999,4,4))
wv_random=wv_random.astype(np.float32)
for i in range(4):
    for j in range(4):
        w_expand[:,(i)*7+3,(j)*7+3]=wt_random[:,i,j]
        wv_expand[:,(i)*7+3,(j)*7+3]=wv_random[:,i,j]

我认为它可行,对吧?我们可以做到没有循环吗?但是我无法解决我的第二个问题:将较小矩阵的一个像素平铺到较大矩阵的一部分上

0 个答案:

没有答案