inflearn logo
강의

講義

知識共有

[AI実務] AI Research Engineerのための論文の実装を始める with PyTorch

vgg19 입력 이미지의 width, height 에 관하여.

172

keymy00njae

投稿した質問数 2

0

안녕하세요, 수업 정말 잘 들었습니다 🙂

하나 궁금한 건,

vgg19 의 features 및 classifier 를 확인해보니,

 

"""

(features): Sequential(
(0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(1): ReLU(inplace=True)

...

(34): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))

(35): ReLU(inplace=True)

(36): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)

(classifier): Sequential(

(0): Linear(in_features=25088, out_features=4096, bias=True)

(1): ReLU(inplace=True)
"""

이렇게 생겼더라구요.

 

입력 이미지의 원래 width, height 를 X 라고 했을 때,

vgg19 에서 다섯 번의 maxpool2d 및 Conv 레이어를 거치며,

최종적인 width, height, channel 은 X/(2^5), X/(2^5), 512 이 될 것 같고,

이게 Fully Connected Layer 의 입력 unit 25088 개와 같은 숫자가 되려면,

X = 224 가 맞는 것 같은데,

 

강의 코드에서 512 로 설정하신 이유가 특별히 있으실까요?

python 딥러닝 pytorch 컴퓨터-비전 생성형ai

回答 2

0

whitebox

제가 질문 확인이 늦었네요 죄송합니다...

질문자분 말씀대로 VGG19의 원래 설계는 ImageNet 데이터셋의 표준 크기인 224x224 이미지를 처리하도록 되어 있습니다. 하지만 저희의 목적은 classification이 아니기 때문에 이미지 사이즈는 바꿔도 상관 없습니다. 강의코드에서 512로 설정한 이유는 특별한 이유가 없습니다. 512x512의 이미지를 생성하는데 필요한 학습시간이 그렇게 길지 않고 이미지 사이즈도 육안으로 보았을때 해상도가 너무 낮지 않은 정도라 512로 택했습니다.

224가 맞는것 아닌가에 대한 것은 굉장히 재밌는 접근이 필요한거 같습니다. 제가 새로운 논문을 쓴다고 했다면 224로 정했을거 같아요. reference한 논문에서 그렇게 실험을 했으니까요.

하지만 제가 서비스를 한다고 하면 이미지 사이즈를 최대한 키울겁니다. 사람들이 보기엔 224는 해상도가 너무 낮기 때문이죠.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. keymy00njae님께서 질문해주신 VGG19의 입력 이미지 크기에 대한 궁금증을 풀어드리겠습니다.

VGG19 네트워크는 224x224 크기의 입력 이미지를 기본으로 설계되었습니다. 이는 ImageNet 데이터셋의 표준 입력 크기이며, 이 경우 마지막 풀링 레이어를 거친 후 7x7x512의 크기로 특성 맵이 축소됩니다. 7x7x512는 25088개의 뉴런으로 연결되며, 이를 통해 Fully Connected Layer에 입력됩니다.

강의 코드에서 입력 크기 512를 설정한 이유는 VGG19를 기반으로 다양한 이미지 크기를 실험하거나 다른 용도에 맞춰 resize하여 사용하는 경우를 가정한 것일 수 있습니다. 이는 네트워크 구조를 확장하거나 실험적인 시도를 하는 데 유용할 수 있습니다. 그러나 전통적인 VGG19의 표준적인 사용은 224x224로 설정하는 것이 일반적입니다.

아래 링크를 통해 유사한 주제에 대한 더 많은 설명을 확인할 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

수강평 이벤트

0

10

1

import torch가 안되는 경우는 어떻게 하나요?

0

11

1

작업형 1 (삭제예정, 구 버전)

0

26

2

강의노트는 어디있나요?

0

11

0

노션 학습 자료 권한 요청

0

12

1

수강기간 연장 문의드립니다.

0

18

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

19

3

part2강의 문의사항입니다.

0

17

2

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

26

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

소리가 겹쳐서 들려요

0

19

2

데스크톱과 노트북 연결

0

26

1

dict, zip

0

21

2

노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.

0

27

4

6-6 실습 문의

0

23

2

미션 06-02

0

23

2

normalization 관련 질문

0

44

0

추후 scratch부터 해볼만한 모델을 추천받을 수 있을까요?

0

190

2

cuda sdk 설치 중 질문이 있습니다.(쌤~~추가질문 댓글로 올려놨으니 답변 부탁드려용~~)

0

150

2

import 오류 관련

0

138

2

Loss (4) 강의 마지막 부분 jupyter notebook 재시작 관련 질문

1

158

2

loss.py 와 train.py 역할 명료화

0

169

2

gpu설정

0

295

1