Programming Error
-
[Ubuntu 부팅 에러]Programming Error/Ubuntu 2023. 3. 2. 19:56
서브컴으로 GUI형태의 Ubuntu를 사용하던 중에 용량이 분명 남아있는데 용량이 없다고 하여 재부팅을 해보니, 바탕화면으로 넘어가지 않고 아래와 같은 에러 메시지가 뜨면서 터미널에 머무르는 현상이 발생하였습니다. 해당 에러를 직접 캡쳐하지는 못해서 해외 사이트 (사진1, 사진2)에서 거의 동일했던 에러를 가져왔습니다. Jun 24 11:29:29 manjaro kernel: .... node #0, CPUs: #1 Jun 24 11:29:29 manjaro kernel: do_IRQ: 1.55 No irq handler for vector Jun 24 11:29:29 manjaro kernel: #2 Jun 24 11:29:29 manjaro kernel: do_IRQ: 2.55 No irq handl..
-
[Pytorch 에러] RuntimeError: Error(s) in loading state_dict - size mismatch for conv1.weightProgramming Error/PyTorch 2023. 3. 2. 19:46
Pytorch를 활용하여 Pretrain된 가중치를 기반으로 Transfer Learning을 수행하는 경우가 많이 있을텐데요. torchvision과 같은 라이브러리에서는 Pretrained=True와 같은 인자를 지원하는 경우가 있지만, 연구를 하다보면 개인 연구자들이 올려준 Github로부터 모델 소스와 .pt(h) 확장자로 되어있는 파일을 불러오는 경우가 있을 겁니다. 그럴 때, 일반적으로 아래와 같은 코드로 Initialize를 수행하는데요. state_dict = torch.load(weight_path) model.load_state_dict(state_dict, strict=True) 그런데 해당 가중치를 가져와서 다른 태스크를 수행한다고 하면 일부 레이어(보통 마지막 FC 레이어)를 제거..
-
[VSCode SSH 연결 오류] Could not establish connection to "ip"Programming Error/Python 2022. 5. 27. 14:59
VS Code에서 원격으로 작업을 쉽게 도와주는 Remote-SSH 기능을 많이 사용하실텐데요. 잘 사용하고 있다가 아래와 같이 연결이 되지 않는 현상을 발견하였습니다. 이에 대한 해결책은 다음과 같습니다. 1. C:/Users/Your Host Name/.ssh/ 경로에서 known_hosts 파일을 메모장으로 엽니다. 2. 아래와 같이 연결된 여러 원격 서버가 존재합니다. (저의 경우에는 3개가 연결되어 있습니다.) 3. 연결이 되지 않는 IP 주소의 행을 지우고 저장하고 닫습니다. 이후 VSCode에서 다시 연결해보면 정상적으로 작동합니다! 제 경우에는 기존에 해당 IP로 SSH 연결을 해서 사용하다가, 해당 서버를 초기화했었는데 그 때문에 기존에 연결해놨던 로그랑 초기화된 서버의 접속 로그가 달라..
-
[MMDetection 에러] RuntimeError: Address already in useProgramming Error/PyTorch 2021. 12. 16. 20:24
RuntimeError: Address already in use Traceback (most recent call last): File "/root/miniconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/root/miniconda3/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/root/miniconda3/lib/python3.7/site-packages/torch/distributed/launch.py", line 235, in main() File "/root/miniconda3/lib/p..
-
[Pytorch 에러] RuntimeError: legacy constructor expects device type: cpu but device type: cuda was passed & Input type (torch.cuda.ByteTensor) and weight type (torch.cuda.FloatTensor) should be the sameProgramming Error/PyTorch 2021. 11. 22. 16:18
Pytorch를 Framework으로 사용할 때, 대부분 GPU를 사용하여 학습이나 추론을 수행하실 겁니다. 그러다보면 가끔 아래와 같은 오류를 만날 수 있는데요. RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same 여기서 Input type (torch.cuda.FloatTensor)는 입력(이미지, 텍스트 등)이 현재 GPU(cuda)에 올라가있는 상태이면서 Floating point가 Float32라는 것을 의미합니다. 반면에 weight type (torch.FloatTensor)은 사용하는 모델의 가중치 타입을 의미합니다. 따라서, 현재 모델은 .cuda가 안붙..
-
[OpenCV 오류] THRESH_OTSU mode: > 'src_type == CV_8UC1 || src_type == CV_16UC1'Programming Error/Python 2021. 9. 24. 22:36
import cv2 img = cv2.imread('./image1.png') _, thresh = cv2.threshold(img, 0, 255.0, cv2.THRESH_BINARY + cv2.THRESH_OTSU) 보통 이미지의 특정 포인트를 탐지하거나 Segmentation Task를 다루다보면 threshold를 기준으로 Binary 이미지로 바꾸어주는 threshold 함수를 자주 접할 수 있을 것입니다. 보통 Binary 이미지를 만들 때, 특정 threshold (임계값)를 사람이 지정해 주어야하는데, 오츠 이진화 방법은 threshold를 지정하지 않고 모든 경우의 수 중에서 적절한 바이너리한 두 부류의 명암 분포가 균일할 때를 선택해주는 방법으로 자주 사용됩니다 (방법에 대한 더 자세한 ..
-
[GPU 관련 에러] Unable to determine the device handle for GPU 0000:19:00.0: GPU is lost. Reboot the system to recover this GPUProgramming Error/Ubuntu 2021. 7. 23. 20:44
Unable to determine the device handle for GPU 0000:19:00.0: GPU is lost. Reboot the system to recover this GPU. GPU를 잘 사용하던 도중에 위와 같은 에러를 발견했습니다. 여러 사이트를 찾아보니 비슷한 이슈가 많이 존재했고, 1) GPU 학습 온도가 너무 올라가서 그렇다. 2) GPU 연결 접촉이 제대로 되지 않을 때 발생한다. 위 두 가지 정도가 대부분이었습니다. 그래서 저는 본체를 열고 GPU를 연결해주는 PCIe선을 뺐다 다시 끼워봤는데 바로 해결이 되었습니다.
-
[PyTorch 에러] Pytorch RuntimeError: stack expects each tensor to be equal sizeProgramming Error/PyTorch 2021. 7. 18. 15:13
PyTorch로 이미지 처리를 하다보면 한 번씩 마주해볼 수 있는 에러인데요. 기존에 쉽게 불러올 수 있는 CIFAR-10 이나 MNIST 같은 데이터가 아닌 개인 데이터들을 사용하다보면 각 이미지마다 Size가 다를 수 있습니다. 그래서 torch의 Dataset, DataLoader를 구현해서 사용하고, Dataset 내에서 torchvision이나 albumentation을 통해 Transforms를 정의해서 Resize, Flip 등의 Augmentation을 하실 텐데요. 이 때, 각 이미지마다 Size가 다른 경우에 동일한 Size로 Resize를 시켜주지 않으면, 위와 같은 오류가 발생하게 됩니다. 이는 Array나 Tensor는 각 차원이 모두 동일해야 Batch 형태로 묶어줄 수 있기 때..
-
[PyTorch DataLoader Num_workers 관련 에러]Programming Error/PyTorch 2021. 7. 13. 23:45
PyTorch의 DataLoader는 학습 데이터를 효율적으로 읽어오기위해 필수적으로 사용됩니다. DataLoader 중에서 num_workers라는 인자가 있는데 이는 데이터 로딩을 하기위해 몇 개의 CPU 프로세스를 사용할 것인지를 의미합니다. GPU에 데이터를 전달해주기 위해 적절한 수의 num_workers를 지정해줄 필요가 있습니다. 여기서는 num_workers 관련 에러에 대한 이슈를 다룰 것이므로 더 자세한 설명은 해당 블로그에서 잘 설명되어 있으니 참고하시면 될 것 같습니다. 우선 제가 num_workers 관련해서 마주한 에러는 다음과 같이 두 가지가 있었습니다. 1. BrokenPipeError: [Errno 32] Broken pipe 2. RuntimeError: DataLoade..
-
[PyTorch Warning] W accumulate_grad.h:170 Warning: grad and param do not obey the gradient layout contract.Programming Error/PyTorch 2021. 7. 13. 16:41
[W accumulate_grad.h:170] Warning: grad and param do not obey the gradient layout contract. This is not an error, but may impair performance. grad.sizes() = [64, 768, 1, 1], strides() = [768, 1, 1, 1] param.sizes() = [64, 768, 1, 1], strides() = [768, 1, 768, 768] (function operator()) PyTorch Framework로 모델을 학습하는 도중에 다음과 같은 Warning을 만났습니다. Error는 아니고 Warning이라 넘어갈까했지만 may impair performance 성능을 ..