군침이 싹 도는 코딩
CNN 의 구조 본문
def build_model() :
model = Sequential()
model.add( Conv2D(16, (3,3), activation='relu', input_shape=(300,300,3) ) )
model.add( MaxPooling2D((2,2), 2 ) )
model.add( Conv2D(32, (3,3), activation='relu' ) )
model.add( MaxPooling2D((2,2), 2 ) )
model.add( Conv2D(64, (3,3), activation='relu' ) )
model.add( MaxPooling2D((2,2), 2 ) )
# ------------------------------------
model.add( Flatten() )
model.add( Dense(512, 'relu') )
model.add( Dense(1, 'sigmoid'))
model.compile('rmsprop', 'binary_crossentropy', ['accuracy'])
return model
# CNN의 구조는 코드로 보면 이렇다
기본 뼈대는 ANN과 비슷하지만 들어가는 파라미터가 약간 다르다
Conv2D 는 컨볼루션의 종류이고 처음 파라미터로 필터가 들어간다
필터는 ANN의 유닛과 비슷한것이라고 보면 된다
두번째 파라미터는 커널의 행열이 들어간다 그리고 액티베이션을 동일하게 relu로 해준다
인풋 쉐입은 해당 이미지파일의 가로,세로,흑백1/컬러3으로 구성된다
MaaPooling2D는 풀링으로 파라미터는 풀링의 가로세로, 스트라이더로 구성된다
이것을 원하는 만큼 반복하고 Flatten으로 평탄화 한 뒤
ANN을 붙이면 된다
'Python > Deep Learning' 카테고리의 다른 글
파이썬으로 파일 다운로드 및 압축파일 푸는 방법 (0) | 2022.12.30 |
---|---|
Pooling (0) | 2022.12.30 |
Convolution 결과로 나오는 feature map 생성과정과 사이즈를 구하는 공식 (0) | 2022.12.29 |
Stride (0) | 2022.12.29 |
CNN (Convolutional Neural Networks) (0) | 2022.12.29 |