분류 전체보기
-
[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 연결을 해서 사용하다가, 해당 서버를 초기화했었는데 그 때문에 기존에 연결해놨던 로그랑 초기화된 서버의 접속 로그가 달라..
-
[논문 리뷰] Student Customized Knowledge Distillation: Bridging the Gap Between Student and TeacherKnowledge Distillation 2022. 4. 11. 20:08
이번 포스팅은 2021 ICCV에서 발표된 Student Customized Knowledge Distillation: Bridging the Gap Between Student and Teacher 논문을 리뷰해보려고 합니다. 지식 증류(Knowledge distillation)에서 보편적인 생각 중 하나는 "더 좋은 성능을 지니는 교사 모델일수록 학생 네트워크가 더 좋은 성능 향상이 일어난다" 입니다. 하지만 이러한 직관과는 반대로 더 좋은 성능의 교사라고 해서 더 좋은 학생이 만들어지지는 않는다고 기존 연구들에서 실험적으로 증명되어 왔습니다. 저자들은 이러한 결과가 두 네트워크 간의 capacity mismatch 때문이라고 주장합니다. 이를 완화하기 위해 Gradient similarity 관점을..
-
[논문 리뷰] Revisiting Knowledge Distillation via Label Smoothing RegularizationKnowledge Distillation 2022. 4. 9. 01:39
이번 포스팅은 2020 CVPR에서 발표된 Revisiting Knowledge Distillation via Label Smoothing Regularization 논문을 리뷰해보려고 합니다. 해당 논문은 지식 증류(Knowledge distillation)가 분류 문제에서 정규화(Regularization) 기법으로 종종 사용되는 Label Smoothing기법의 한 종류라는 것을 주장하고, 이에 영감을 받아 Teacher-free 지식 증류 프레임워크를 제안합니다. Introduction & Exploratory Experiments 지식 증류는 일반적으로 거대한 교사(Teacher) 네트워크의 "Dark knowledge"라고 불리는 지식을 경량화된 학생(Student) 네트워크에게 전달하여 성능..
-
[논문 리뷰] A Comprehensive Overhaul of Feature DistillationKnowledge Distillation 2022. 4. 8. 16:47
딥러닝 모델 경량화에서 한 축을 담당하고 있는 Knowledge Distillation 관련 논문을 차근차근 리뷰하려고 합니다. 먼저, 첫 번째로는 2019 ICCV에서 네이버 클로바가 발표한 A Comprehensive Overhaul of Feature Distillation (OFD) 논문을 정리해보려고 합니다. OFD는 2022년인 현재까지도 Feature Distillation 방법 중에서 높은 순위를 기록하고 있습니다. Abstract 지식 증류(Knowledge distillation)의 한 갈래인 피쳐 증류(Feature distillation)를 효과적으로 수행하기 위해 여러 가지 측면(Teacher transform, Student transform, distillation featur..
-
[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선을 뺐다 다시 끼워봤는데 바로 해결이 되었습니다.