Как я могу рассеять небольшую матрицу в большую матрицу, используя Python? - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть матрица с размером 28x28, но для 49999 выборок (это означает w_expand=np.zeros((49999,28,28),dtype='float32')), у меня также есть меньшая матрица со случайными значениями (wt_random=np.random.randint(2, size=(49999,4,4))), я хочу разделить первую матрицу на блоки 7x7 и поместить каждыйэлемент второй матрицы в среднем пикселе из блоков 7х7.если бы это была только одна матрица, я знаю, что мне делать, но для этого примера я не знаю, как мне это сделать.Не могли бы вы помочь мне, как я могу сделать это с 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]

Я думаю, что это работает, верно?мы можем сделать это без цикла?но я не мог решить мою вторую проблему с разбиением одного пикселя на меньшую матрицу на часть большей матрицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...