본문 바로가기

pytorch2

[Paper implementation] ResNet구현 부캠 초반부는 강의를 들으며 주어진 과제를 채워내는 식의 코딩이 전부이다. 멘토링 시간에 ResNet에 관해 리뷰하기도 했고 과제를 하며 ResNet을 부분적으로 구현해보기도 했기에 파이토치 공부 겸 ResNet을 Scratch부터 구현해 보았다. ResNet code class ResNet(nn.Module): def __init__(self, name="resnet", xdim=[3, 224, 224], ksize=3, cdims=[64, 128, 256, 512], layeriter=[3,4,6,3], hdim=1000, USE_BATCH_NORM=True): super().__init__() self.name = name self.xdim = xdim #means C, W, H self.cdims.. 2023. 4. 12.
[Pytorch] ImageFolder label기준으로 split하기 ResNet을 구현한 다음 학습을 시켜보았는데 한 에포크를 도는데 5분쯤 걸렸다. 단순 테스트용으로 돌리는건데 너무 시간이 길다고 생각해서 라벨을 쪼개려고 했는데 처음에는 Stratified한 방식으로 쪼개려 했는데 생각해보니 데이터셋으로 사용한 imagenet-mini는 이미 class별 이미지가 너무 적다 생각하여 label을 index로 지정해서 100개 정도만 뽑아서 데이터셋으로 만드려했다. 로컬폴더를 900개 제거하면 ImageFolder가 알아서 해주겠지만 뭔가 데이터셋을 제거한다는 방식이 세련되 보이지도 않았고 이후에도 train과 test를 쪼갤일이 많을 텐데 미리 연습 좀 해보자는 느낌으로 방법들을 서칭했다. 별거 아닌 고집이었는데 구현하는데 시간이 예상보다 오래 걸렸다. 이번에는 내가 .. 2023. 4. 10.