인공지능/구현 2

PyTorch Dataset (2) - ImageFolder, DataFolder

데이터셋은 학습에 필요한 데이터셋, 검증에 필요한 데이터셋, 평가에 필요한 데이터셋이 필요하다. train.py와 test.py(혹은 eval.py)로 나누어 코드를 짜는 경우엔 train.py에는 학습 데이터셋, 검증(평가) 데이터셋을 구현하여 사용하면 되고 test.py(혹은 eval.py)에는 평가 데이터셋을 구현해야 한다. train_set = CustomDataset(...) validation_set = CustomDataset(...) test_set = CustomDataset(...) 보통 데이터는 다음과 같은 트리구조로 되어있다. data |-- train | |-- cat | | |-- cat1.jpg | | |-- cat2.jpg | | |-- cat3.jpg | | | ... | ..

인공지능/구현 2024.01.22

PyTorch Dataset (1) - Dataset

이 글은 pytorch에서 데이터셋을 불러오는데 아주 중요한 역할을 하는 Dataset 클래스에 대해 이전에 공부했던 내용을 정리한 글이다. 참고 : https://pytorch.org/docs/stable/data.html#torch.utils.data.Dataset Dataset 클래스 모든 데이터셋은 key로 데이터 샘플을 매핑해서 표현되고 이 Dataset 클래스를 상속받아야 한다(subclass). subclass들은 모두 주어진 key에 대해 데이터 샘플에 접근할 수 있는 __getitem__을 덮어써야(overwrtie)한다. subclass들은 많은 ~torch.utils.data.Sampler클래스에 의해 구현된 데이터셋의 크기를 반환하는 __len__을 덮어쓸 수 있고(이 말인 즉슨 전..

인공지능/구현 2024.01.22