728x90
반응형
import numpy as np
np.random.seed(1)
H,W,C=56,156,48
F=128
image=np.random.randint(5,size=(H,W,C))
print(image.shape)
filter=np.random.randint(5,size=(F,3,3,C))
print('filter_0=\n', filter[0])
print('filter_0=\n', filter[1])
image_pad=np.pad(image,((1,1),(1,1),(0,0)))
print('image_pad=\n', image_pad)
convolution=np.zeros((H,W,F))
for fn in range(F):
for row in range(H):
for col in range(W):
window=image_pad[row:row+3,col:col+3]
convolution[row,col,fn]=np.sum(window*filter[fn]) # ...=:,:,:=fn
print('convolution_0=\n',convolution[0])
print('convolution_1=\n',convolution[1])
max_pooled=np.zeros((H//2,W//2,F))
for fn in range(F):
for row in range(H//2):
for col in range(W//2):
window=convolution[2*row+2:2*row+2,2*col:2*col+2,fn]
max_pooled[row,col,fn]=np.max(window)
print('max_pooled_0=\n',max_pooled[0])
print('max_pooled_1=\n',max_pooled[1])
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[딥러닝] 필터 역할 살펴보기(컬러이미지로 적용하기) (0) | 2023.11.01 |
---|---|
[딥러닝] 필터 역할 살펴보기(부드러운 이미지 추출하기) (0) | 2023.10.31 |
[딥러닝] 알고리즘 CNN 신경망 (0) | 2023.10.31 |
[딥러닝] 딥러닝 활용하기(임의 흑백, 컬러 이미지 데이터 셋 학습) (0) | 2023.10.30 |
[딥러닝] 딥러닝 활용하기(cifar100 데이터 셋 학습하기) (0) | 2023.10.30 |