반응형
안녕하세요
pytorch를 사용하여 학습 및 추론을 진행 할 때 RuntimeError: stack expects each tensor to be equal size, but got ~과 같은 에러가 DataLoader에서 발생하는 경우가 종종 있습니다.
해당 에러는 사용하는 데이터셋의 이미지의 사이즈가 서로 달라서입니다.
사이즈가 다르게되면 Array나 Tensor의 각 차원이 동일하지 않기 때문에 batch형태로 묶어줄 수 없기 때문에 발생합니다.
따라서 해결하기 위해서는 torchvision에서 제공하는 transforms.resize()함수를 사용하거나 그 외에 다양한 방법으로 Resize를 진행해주시면 됩니다.
import torchvision.transforms as transforms
transform=transforms.Compose([
transforms.Resize((32,32)),
transforms.ToTensor(),
transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))
])
긴 글 읽어주셔서 감사합니다~
반응형
'AI' 카테고리의 다른 글
[Pytorch] LENET5 모델 학습 및 추론 코드(마스크 구별 프로그램) (0) | 2021.11.11 |
---|---|
tensorflow zoo && tensorflow detection api 사용하여 tflite파일 만드는 과정 (0) | 2021.11.10 |
RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimension 0 (0) | 2021.11.09 |
torch.nn 과 torch.nn.functional 차이점! (0) | 2021.11.08 |
5x5 Conv 를 3x3 Conv2개로 대체 효율 (0) | 2021.11.08 |