Bus error 7 라고 떠서 메모리 관련이란 거만 어렴풋이 알겠음
어떨 땐 수십만 iteration 잘 돌고
어떨 땐 수백 iteration 만에 죽어버리고 하니까 뭐 해결 방법을 도무지 모르겠다
mpi4py, torch distributed 로 돌릴 때만 나타나서 이놈들 때문인 거 말고 아무것도 모름
num_workers=0 박아도 뒤지고 데이터셋 전체 크기를 줄여도 뒤짐
각 프로세스의 데이터로더가 동시에 같은 파일 접근하는 거 아닌 것도 확인함
htop, nvidia smi 켜놓고 영상 찍어놓은 거 보면 뒤지기 직전까지 gpu, cpu 메모리 둘 다 존나 남아서 OOM도 아님
콘다 환경에서 다른 python 스크립트 돌고 있는 것도 아님
뭐 어째야함...?
데이터가 시퀀셜 데이터면 길이가 0인 데이터가 껴있거나, 시퀀스 인풋 A 시퀀스 인풋 B 간의 길이가 Loss Function 의 규격을 벗어나거나 (무조건 A가 B보다 길어야 하는데 B가 더 긴 데이터가 있을때)
일단 데이터 한번 점검해 보고 모르겠으면 Error Message를 통으로 올려보셈.
의견 줘서 고맙다 근데 내 경우는 일단 이미지고 모든 데이터 까봤는데 다 값은 0~1 사이에 이쁘게 있고 텐서 크기는 같음 Process received signal Signal: Bus error (7) Signal code: Non-existant physical address (2) Failing at address: 0x **** 가 하나에서 먼저 뜨고, back prop이 합쳐져서 진행되다보니까 다른 프로세스들도 순차적으로 같이 죽음
해당 댓글은 삭제되었습니다.
Non-existant physical address 면 메모리 주소 참조 잘못했단 얘기니까 얘 말처럼 어레이, 큐, 스택 쓰는쪽 찾아보는게 좋을듯
그건 한 번 확인해봐야 할 듯 너가 말하는 array que stack 조작에 torch reshape repeat_intereleave 나 einops rearrange 같은 것도 혹시 포함될까
계속 같은 데이터에서 죽는건지부터 봐야지 에포크 한번은 다 돈거여?
수십만번 잘 돌 떄도 있음