inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

가중치 초기화(Weight Initialization)의 이해와 적용 - 02

kenel_size부분 질문이요!

254

이재훈

작성한 질문수 5

0

input_tensor = Input(shape = (IMAGE_SIZE, IMAGE_SIZE, 3))
x = Conv2D(filters = 32, kernel_size = (3, 3), padding = 'same', activation = 'relu', kernel_initializer = 'he_normal')(input_tensor)

이 부분에서 입력데이터가 3차원으로 들어오잖아요.

저번 강의에서 개별 커널의 차원은 3차원이라고 하셨던거 같은데,

그럼 이 코드에선 한개의 커널이 rgb, 총 3개의 채널을 가진 (3 x 3 x 3)가 되는 것인가요?

위에 전제가 맞다면, 2번째 줄 kernel_size가 (3, 3)인 이유는 케라스 내부에서 알아서 3개의 채널을 만들어주기 때문인가요??

머신러닝 딥러닝 keras tensorflow kaggle cnn

답변 1

0

권 철민

안녕하십니까,

위에 전제가 맞다면, 2번째 줄 kernel_size가 (3, 3)인 이유는 케라스 내부에서 알아서 3개의 채널을 만들어주기 때문인가요??

=> 네 맞습니다. (입력 채널 수를 파악해서) 케라스 내부에서 알아서 3개의 채널을 만들어 줍니다.

좀 더 정확하게 말씀드리자면, (강의에서도 말씀드리자면) kernel 을 일반적으로 3차원으로 표현하지만, 정확한 용어 표현으로는 2차원입니다. 그리고 이차원 kernel을 3차원으로 표현한 것이 filter 입니다.

그러니까 Conv2D(filters = 32, kernel_size = (3, 3)) 는

kernel size 3x3이고 depth(그러니까 채널수)가 3인 filter(shape는 3x3x3) 32개를 Conv2D 연산으로 적용한다는 의미 입니다.

 

감사합니다.

resize 질문

0

51

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

76

1

Loss와 매트릭 관계

0

62

2

Boston 코랩 실습

0

164

2

배치 정규화의 이해와 적용 2 강의 질문

0

136

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

145

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

206

2

소프트맥스 관련 질문입니다

0

208

1

강의 관련 질문입니다

0

151

2

residual block과 identity block의 차이

0

190

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

240

1

실습 환경

0

165

2

입력 이미지 크기

0

244

2

데이터 증강

0

196

2

albumentations ShiftScaleRotate

0

207

1

Model Input Size 관련

0

281

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

204

1

일반적인 질문 (kaggle notebook사용)

0

272

2

실무에서 Augmentation 적용 시

0

338

2

안녕하세요 교수님

0

231

1

가중치 초기화(Weight Initialization) 질문입니다.

0

327

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

409

1

학습이 이상하게 됩니다.

2

1036

2

boston import가 안됩니다

0

229

1