분류 전체보기

    [Ubuntu] GPU 그래픽카드 실시간 사용량 확인

    1. nvidia-smi $ nvidia-smi -l 1 -l 은 loop의 약자로, 초(second) 단위로 갱신합니다. 좋아 보이긴 하지만,, 뭔가 아쉽습니다.. watch -d -n 0.5 nvidia-smi watch 명령은 원하는 명령어의 결과를 원하는 시간(초) 주기로 리프레시 하여 결과를 보여주는 명령어 입니다. -d 는 differences의 약자로, 업데이트되는 부분에 한해서 하이라이트를 쳐줍니다. -n 0.5 는 0.5 초(second) 단위로 갱신한다는 의미입니다. 2. gpustat // gpustat 설치 $ pip install gpustat // gpustat 실행 $ gpustat -i -i 는 interval의 약자로, 시간 간격을 두고 보겠다는 의미입니다.

    [git] git clone시 fatal: the remote end hung up unexpectedlyMiB | - KiB/s 에러 가이드

    문제 상황 Pycharm IDE로 작업 도중, TextRecognitionDataGenerator를 활용하고자 git clone을 통해 다운로드 받고자 하였는데, 아래와 같은 에러 코드를 내뱉었다. # 명령어 $ git clone https://github.com/Belval/TextRecognitionDataGenerator.git # 아웃풋 Cloning into 'TextRecognitionDataGenerator'... remote: Enumerating objects: 1565, done. fatal: the remote end hung up unexpectedlyMiB | 192.00 KiB/s fatal: early EOF fatal: index-pack failed fatal: the re..

    [Ubuntu] Unable to determine the device handle for GPU0000:06:00.0: Unknown Error 해결방법

    상황 서버 컴으로 학습시키다가 (3~4epoch을 지나고 있었음, 코드 레벨에서 Error 없을 것으로 예상) RuntimeError: CUDA error: the launch timed out and was terminated 라는 에러 메시지와 함께 갑자기 학습을 멈췄다. 그래서 터미널 창에 nvidia-smi 를 통해 학습중인지 아닌지를 판단하고자 하였다. (학습 중이라면 GPU를 사용하고 있을 테니까) 그러자 nvidia-smi 의 결과로 Unable to determine the device handle for GPU0000:06:00.0: Unknown Error 라는 메시지를 뱉더라..! 이유 위와 같은 에러가 나타나는 이유는 다양하겠지만, 아래와 같이 정리할 수 있었다. GPU의 물리적 고..

    [Pytorch] ONNX export할 때 RuntimeError: step!=1 is currently not supported 에러 해결 방법

    torch.onnx.export할 때 RuntimeError: step!=1 is currently not supported 에러 해결 방법 서론 아래 코드와 같이 모델을 onnx로 변환하고자 했는데 import torch import torch.onnx model = get_net(False) params = torch.load("/home/slrnd/test/00.work/BDD/YOLOP/runs/BddDataset/_2023-09-15-11-11/final_state.pth", map_location="cpu") model.load_state_dict(params) model.cpu() params = model.state_dict() torch.save(params, "./net.prm", pi..

    [Pycharm] 파이참 프로젝트 삭제 방법, how to pycharm project delete

    [Pycharm] 파이참 프로젝트 삭제 방법, how to pycharm project delete 파이참 프로젝트를 삭제하고 싶은데, 열때마다 똑같은 창 열릴 때 해결 방법 위 프로젝트를 삭제하고싶다면, 4줄 기호를 클릭하시거나, Alt+\ 을 눌러 main menu에 진입해주세요. 이후, file -> close project를 눌러줍니다. 그러면 아래 사진처럼 Welcom to Pycharm 창으로 빠져 나오게 됩니다. 그리고, 삭제하고 싶은 프로젝트에 마우스를 가까이 대면, 아래 사진처럼 파랗게 변하고 3점이 보입니다. 3점을 클릭한 뒤, Remove from Recent Projects... 를 클릭하시면 프로젝트를 삭제 하겠느냐는 토스트메시지가 뜨고, Remove 클릭하시면 프로젝트가 삭제됩니다.

    [Ubuntu] Window에서 우분투로 원격 접속하는 방법 (feat. xrdp, mstsc)

    window의 mstsc를 활용하여 접속하는 방법을 알려드리겠습니다. 그러기 위해서는 ubuntu에 먼저 환경을 세팅해야합니다. 1. ubuntu에 환경 세팅하기 우리는 우분투에 xrdp*라는 오픈소스를 다운로드 받아야 한다. * xrdp 란? 마이크로소프트가 개발한 원격 데스크톱 프로토콜(RDP, Remote Desktop Protocol) 1-1. 먼저, 내 우분투에 설치되어 있는지 확인해보자. $ systemctl status xrdp 설치 안되어 있을 경우, Unit xrdp.service could not be found. 설치되어 있을 경우, xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled;..

    [Ubuntu] RuntimeError: No CUDA GPUs are available 해결 방법

    Pytorch 베이스로 학습을 돌리려는데 계속해서 "RuntimeError: No CUDA GPUs are available" 에러가 뜨더군요.. 클릭! 더보기 /home/sldev1/github/TIL/Internship/MobileNetV2_FER/test.py:57: UserWarning: nn.init.xavier_uniform is now deprecated in favor of nn.init.xavier_uniform_. torch.nn.init.xavier_uniform(m.weight) Traceback (most recent call last): File "/home/sldev1/github/TIL/Internship/MobileNetV2_FER/test.py", line 98, in m..

    [Ubuntu] 리눅스 우분투 마우스 먹통 인식안됨, 마우스 usb 인식

    오랜만에 출근해서 제 서버컴을 켰는데 마우스 인식이 안되더군요....? 노트북에서는 잘되던 마우스 키보드가, 우분투 리눅스 서버컴퓨터에 usb를 꽂으니까 안되더군요. 마우스가 움직이질 않았습니다.... 그래서 usb 포트가 고장났나? 싶어서 개인 usb를 꽂으니까, usb 인식은 또 되네? 답답한 마음에 더 찾아보았지만 해결은 되지 않았었습니다. 마지막 구글링으로 해결했고, 그 방법을 공유하고자 합니다. 해결 방법 아래 사진 순서대로 따라가시면 됩니다. :) 컴퓨터를 킬때 나타나는 화면에서 Shift 를 꾸욱 누르면(약 5초) 복구모드로 들어갑니다. 안들어가진다면 컴퓨터 Shift를 누르면서 ESC를 한번씩 누르면 들어가질 거예요. 여기서 고급옵션으로 들어가줍니다. 그럼, 다음과 같은 화면이 나타나는데 ..

    [이코테] 6. 정렬 알고리즘 - 선택, 삽입, 퀵, 계수정렬

    정렬 알고리즘 정렬(Sorting)이란 데이터를 특정한 기준에 따라 순서대로 나열하는 것을 말함. 일반적으로 문제 상황에 따라서 적절한 정렬 알고리즘이 공식처럼 사용됨. 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬 등이 있음. 선택 정렬 핵심 동작 원리 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복함. 선택 정렬의 시간 복잡도 선택 정렬은 N번 만큼 가장 작은 수를 찾아서 맨 앞으로 보내야 함. 구현 방식에 따라서 사소한 오차는 있을 수 있지만, 전체 연산 횟수는 다음과 같음 N + (N -1) + (N-2) + ... + 2 이는 (N^2 + N - 2) / 2 로 표현할 수 있는데, 빅오 표기법에 따라서 O(N^2)이라고 작성. 예시 더보기 이런 방..

    자주 쓸 것 같은 CV 꿀팁들 정리

    동영상 초단위로 구간 나누어 저장 $ ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 -c copy output.mp4 경로 선언 및 정렬 dirpath = "/media/sldev1/T7/DMS2/" filepath = glob.glob(dirpath+'*.mp4') filepath = sorted(filepath ,key=lambda s: int(re.findall(r'\d+', s)[3])) # re.findall에 주목 re.findall에서 [3]은 4번째 숫자 모임(?)이다. # 이런 경로가 있다면, /media/sldev1/T7/DMS2/01. 조랭이떡_1201.mp4 만약 위와같은 경로가 있다면, print(re.findall(r'\d+', s))의 출력은..