본문 바로가기

col2im2

33. [CNN기초] 이미지의 합성곱 훈련 -쉬운예제(실습)- 저번시간에 아래와 같이 3 × 3 이미지를 2 × 2 값으로 어떻게 훈련할 수 있는지 이야기하였다. 오늘은 이 내용을 코드로 작성해 보고자 한다. 예상하건데 필터는 1개이고, 선형분류기가 따로 없으므로 훈련 성과는 그리 좋을 것 같지 않다. 먼저 입력 Input과 목표 Target을 설정해 보자. numpy의 flipud와 fliplr을 이용하여 생성하면 편하다. import numpy as np import matplotlib.pyplot as plt x_sorce1 = np.array([[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], [0.7, 0.8, 0.9]]) x_sorce2 = np.flipud(x_sorce1) # sorce1의 좌우반전 x_sorce3 = np.fliplr(x_.. 2023. 1. 21.
31. [CNN기초] 2차원 배열 합성곱 - image to column-2 이전 시간에는 image to coumn을 이용하여 합성곱 연산을 진행하였다. 하지만 아직도 갈 길이 많다. 이전 예제는 원리를 설명하느냐 정말 간단하게만 구현하였기 때문에 제대로 하려면 스트라이드 구현, 패딩 구현, coumn to image, 다중 채널 이미지 변환 4가지가 남아 있다. Numpy 딥러닝 시리즈에서는 1채널 (gray)로 진행한다. 다중 채널은 현재 코드 진행으로 매우 비효율적이므로 코드를 다루지 않고 개념만 마지막에 다룰 것이다. 원래 이미지는 (batch, channels, height, width) 또는 (batch, height, width, channels)로 구성되어 있는데 편의를 위해 1채널만 사용하므로 (batch, height, width)로 사용할 것이다. 또한 쉬운.. 2023. 1. 11.