2023.12.28 방학 TIL
yolo v3 구현을 시작했다. 데이터셋의 용량이 커서 그런지 계속 다운로드에 실패했다ㅠㅠ 결국 오늘 데이터셋은 다운받지 못했다... 내일 다시 다운받아봐야겠다.
yolo v3는 대학원 다닐 때 코드를 공부한 적이 있었다. 하나씩 다 구현해본 것은 아니었고 구현되어 있는 코드를 보면서 공부했던거라 아쉬움이 남았었다. 이번에는 직접 다 구현해보는거라서 기대가 된다. 혼자서도 짤 수 있을 정도로 이해하는 게 목표!!
📝 배운 내용
__init__.py 파일
- 이 파일은 생성만 하고 딱히 코드를 작성하지는 않아서 왜 생성하는지 의문이 들었다
- 찾아보니 이 파일은 python 인터프리터에게 해당 디렉토리가 패키지임을 알려주는 역할을 한다고 한다
- 하지만 python 3.3 버전 이후부터는 이 파일이 없어도 디렉토리가 패키지로 간주된다고 한다
- 또한 다른 모듈에서 상대 경로를 사용하여 패키지 내의 모듈을 가져올 떄 그 경로를 설정하는데 도움을 준다고 한다
- 하지만 이 파일을 제거해도 기존의 코드 그대로 작동이 잘되어서 굳이 없어도 되는 파일인 것 같다
dataset 구조 설정
- GT 정보(bbox, class)를 담고 있는 annotation을 따로 만들어서 관리한다
- annotation은 yolo 형식에 맞는 데이터이다
- ImageSets에는 이미지 데이터 파일 이름을 작성해놓은 txt 파일이 있다
parser 설정
- 파일을 실행할 때 옵션들을 설정하는 parser를 생성한다
- parser 사용법을 이전에는 잘 몰랐는데 매우 유용한 것 같다
config 파일에서 network 정보 가져오기
- yolov3.cfg 파일 : yolo v3 모델의 정보를 담고 있다
- 여러 파라미터 중에 원하는 파라미터를 가지고 온다
data loader
- 불러올 dataset의 경로를 설정
- 설정한 dataset 경로에서 이미지 데이터와 annotation 정보를 불러오는 부분
- 파일을 불러올 때 'b'는 파일의 데이터를 이진 모드로 불러오는 것으로 파일의 데이터를 그대로 읽어오도록 한다