반응형
제목 그대로 pytorch lightning을 사용하다 보면 갑자기 듣도 보도 못한 에러를 만날 때가 있다.
RuntimeError: Trying to resize storage that is not resizable
에러의 기본적인 의미는 사용하는 torch tensor가 numpy array랑 메모리를 공유하도록 되어있어서 tensor를 함부로 resize할 수 없다는 뜻인데 일반적인 상황에서 torch.from_numpy() 같은 걸 썼다면 단순히 끝에 .clone()을 붙여주면 해결되는 문제다. (아니면 numpy array를 깊은 복사해서 사용하거나)
근데 pytorch lightning이랑 사용할 때는 문제가 감추어져 있더라. pytroch lightning은 데이터셋만 정의하면 나머지 로딩은 알아서 하기 때문에 torch.from_numpy이런 걸 직접 쓸 일이 거의 없다.
GPT, Claude 다 물어보면 collate_fn이 잘못되었다는 둥 하면서 온갖 collafe_fn을 정의하고 알아서 갖다붙이지만 안된다.
원인
높은 확률로 데이터 dimension이 안 맞는 문제다. 데이터셋 여러개를 composed dataset으로 사용할 때라든가 내부에서 channel 방향으로 concat을 많이 하는 dataset을 사용할 때 실수가 있었거나 그렇다.
num_workers=0
정확한 원인 파악을 위해서 trainer에 들어가는 num_workers를 0으로 설정하면 그제서야 본래 오류가 드러날 것.
반응형
'Trouble > Python, Pytorch' 카테고리의 다른 글
| curope, RoPE cuda version 설치 실패하는 문제 (0) | 2025.11.05 |
|---|---|
| c++ 모듈 compile 시 numpy 못 찾는 문제 (0) | 2025.01.15 |
| ImportError: ../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (0) | 2024.08.01 |
| Pycharm 에서 matplotlib.pyplot 사용 시, module 'backend_interagg' has no attribute 'FigureCanvas' 문제 (0) | 2023.11.22 |
| ERROR:optimizer got an empty parameter list (0) | 2023.09.08 |