반응형
파이썬 data loader 시간지연문제는 사실 data loader안에서 생기는 문제가 아니고 파이썬 threading 문제다.
File "test_dataloader.py", line 39, in <module>
_debug_h36m()
File "/home/kwu/Desktop/chun/code/METRO_REAL/main/../data/Human36M/Human36M.py", line 464, in _debug
for i, (inputs, targets, meta_info) in enumerate(train_loader):
File "/home/kwu/anaconda3/envs/metro_real/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 345, in __next__
data = self._next_data()
File "/home/kwu/anaconda3/envs/metro_real/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 841, in _next_data
idx, data = self._get_data()
File "/home/kwu/anaconda3/envs/metro_real/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 798, in _get_data
success, data = self._try_get_data()
File "/home/kwu/anaconda3/envs/metro_real/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 761, in _try_get_data
data = self._data_queue.get(timeout=timeout)
File "/home/kwu/anaconda3/envs/metro_real/lib/python3.7/queue.py", line 179, in get
self.not_empty.wait(remaining)
File "/home/kwu/anaconda3/envs/metro_real/lib/python3.7/threading.py", line 300, in wait
gotit = waiter.acquire(True, timeout)
데이터 로더에서 데이터를 읽어오는데 시간이 매우 오래걸리는 문제가 발생했고 너무 오래걸려서 Ctrl+C 로 종료하자 위와같은 에러메세지를 출력했다.
요약하자면 대충 threading 과정에서 데이터를 읽어오는 시간이 매우 오래걸려서 생기는 문제인데 이와 관련해서 검색해보니 다음과 같은 사이트들을 참고할 수 있었다.
https://github.com/paramiko/paramiko/issues/515
https://bugs.python.org/issue24026
나같은 경우에는 파이썬, 파이토치를 딥러닝 공부용으로 사용하고 있고, 이 문제가 파이토치 문제인줄 알았으나 알고보니 파이썬 버전 버그 문제였다.
위 문제가 발생하는 파이썬 버전을 확인해보니 다음과 같았다.
>>> import sys
>>> print(sys.version)
3.7.10 (default, Feb 26 2021, 18:47:35)
[GCC 7.3.0]
그리고 아래의 파이썬 버전으로 바꿔서 테스트해보니 결과적으로 thread 문제는 해결됐다.
>>> import sys
>>> print(sys.version)
3.8.5 (default, Sep 4 2020, 07:30:14)
[GCC 7.3.0]
반응형
'연구 > pytorch' 카테고리의 다른 글
[img 시각화] tensor로 변환된 이미지를 cv2.imshow 하기 (0) | 2021.12.20 |
---|---|
[파이썬] 피클 pickle 파일 읽기, 쓰기 (0) | 2021.07.08 |
[error] RuntimeError: CUDA error: no kernel image is available for execution on the device (0) | 2021.03.21 |
[디버깅] pytorch 디버깅 함수 (0) | 2020.11.29 |
[Error] pytorch 연산중 nan이 뜨는 원인 (2) | 2020.11.25 |