인프런 커뮤니티 질문&답변

Baek Kyun Shin님의 프로필 이미지
Baek Kyun Shin

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

Config의 이해 - Config 대분류 및 주요 설정 이해하기

데이터셋 관련 질문입니다.

작성

·

184

0

안녕하세요! 파이썬 머신러닝 -> 캐글 Advanced에 이어 이번이 세 번째 강의 수강이네요 ^^ 매번 좋은 강의 올려주셔서 감사합니다 ㅎㅎ 

데이터셋 관련해 세 가지 질문이 있습니다.

1) 'KittyTinyDataset' 클래스를 정의해줬는데요, 이 클래스를 명확히 호출하는 부분은 없었습니다. 어느 부분에서 데이터셋 클래스가 등록된 것인가요?

데코레이터 부분(@DATASETS.register_module(force=True))이 KittyTinyDataset 객체를 MMDetection 프레임워크에 등록하기 때문에 데코레이터 코드만 있으면 클래스를 따로 호출하지 않아도 호출한 효과를 얻는 것인가요? 

 

2) 또한, cfg 설정하는 코드에서 cfg.dataset_type를 'KittyTinyDataset'로 오버라이딩했는데요, 이건 이름만 설정한 건가요? 아니면 앞서 정의한 클래스명을 넣어준 건가요? 즉, 꼭 cfg.dataset_type = 'KittyTinyDataset' 이렇게 해야 하는 것인지 아니면 이름이니 임의로 설정해도 되는 것인지 궁금합니다.

 

3) 마지막으로, datasets = [build_dataset(cfg.data.train)]로 하면 cfg.data.val도 자동으로 데이터셋으로 만들어지는 것인가요? 강의 중간에 그런 말씀을 하신 것 같은데 확실치 않아 질문드립니다.

 

질문이 많네요. 죄송합니다. 항상 친절한 답변 감사드립니다. :)

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

잘 듣고 계시다니, 저도 기분이 좋습니다. 

1) 'KittyTinyDataset' 클래스를 정의해줬는데요, 이 클래스를 명확히 호출하는 부분은 없었습니다. 어느 부분에서 데이터셋 클래스가 등록된 것인가요?

데코레이터 부분(@DATASETS.register_module(force=True))이 KittyTinyDataset 객체를 MMDetection 프레임워크에 등록하기 때문에 데코레이터 코드만 있으면 클래스를 따로 호출하지 않아도 호출한 효과를 얻는 것인가요? 

==> 네 맞습니다. 호출 자체는 MMDetection내부 프레임웍이 수행하므로 등록까지만 하면 됩니다. 

2) 또한, cfg 설정하는 코드에서 cfg.dataset_type를 'KittyTinyDataset'로 오버라이딩했는데요, 이건 이름만 설정한 건가요? 아니면 앞서 정의한 클래스명을 넣어준 건가요? 즉, 꼭 cfg.dataset_type = 'KittyTinyDataset' 이렇게 해야 하는 것인지 아니면 이름이니 임의로 설정해도 되는 것인지 궁금합니다

=>앞서 정의한 클래스명을 넣어줘야 하므로 꼭 cfg.dataset_type = 'KittyTinyDataset'로 해야 합니다. 

3)마지막으로, datasets = [build_dataset(cfg.data.train)]로 하면 cfg.data.val도 자동으로 데이터셋으로 만들어지는 것인가요? 강의 중간에 그런 말씀을 하신 것 같은데 확실치 않아 질문드립니다.

=> 네, 자동으로 만들어집니다.

 

감사합니다. 

 

Baek Kyun Shin님의 프로필 이미지
Baek Kyun Shin

작성한 질문수

질문하기