일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- pytorch
- error
- ubuntu
- Numpy
- paramiko
- C#
- VS Code
- OpenCV
- 기타 연주
- SSH
- C++
- Python
- JSON
- nvidia-smi
- Visual Studio
- pandas
- Selenium
- 컨테이너
- mysql
- pip
- 오류
- label
- 채보
- 프로그래머스
- 핑거스타일
- C
- windows forms
- YOLO
- Linux
- Docker
- Today
- Total
목록전체 글 (329)
기계는 거짓말하지 않는다
리눅스에서는 cat *.tar.gz | tar zx처럼 간단하게 압축을 풀 수 있지만, Windows PowerShell에서는 이 방식이 시스템을 멈추게 만들 수 있다.특히 파일 용량이 큰 경우엔 RAM이 터지고 디스크 I/O도 100%까지 도달할 수 있다. 문제가 되는 명령어cat 공통파일이름-* | tar zx이 명령어는 PowerShell에서 문제가 생길 수 있다. PowerShell의 cat은 모든 파일 내용을 메모리에 올리면 RAM 과부하tar는 스트리밍을 기대하는데, 입력이 느리거나 불완전하면 CPU+RAM 과부하해결 방법copy /b로 파일을 하나로 병합tar -xvzf로 압축 해제cmd /c "copy /b 공통파일이름-* combined.tar.gz"# 파일이 따로라면cmd /c "cop..
간혹 특정 프로그램이 멈춰버려서 Alt+F4나 작업 관리자를 열어도 화면에서 볼 수 없이,작업 표시줄만 볼 수 있는 상황에서 마우스와 키보드만 사용할 수 있는 경우가 있다. 나의 경우에는 캡처 도구(snipping tool)을 사용할 때, 캡처 도구가 정지되어 마우스와 키보드만 사용할 수 있었는데작업 관리자도 볼 수 없었고 윈도우 키(Win)를 입력하여 시작 아이콘과 작업 표시줄만 볼 수 있는 상황이었다.전체 화면(게임 등) 상태에서 단축키가 먹히지 않을 수 있어, 윈도우 키 + D(바탕화면 보기)또는 윈도우 키 + Tab(작업 보기), Alt + Tab 등을 시도해 보았으나 소용없었다. 작업 관리자의 옵션에 "항상 위에 표시"를 선택해 두면 문제없었지만, 잠깐 해제해두었던 상태였다.기본적인 강제 종료 ..
Windows 환경에서 multiprocessing(DataLoader의 num_workers>0)이 내부적으로 프로세스를spawn(push)할 때 발생 할 수 있는 오류의 예이다.EOFError: Ran out of input...ForkingPickler(file, protocol).dump(obj)_pickle.PicklingError: Can't pickle at 0x0000029A93FCF820>: attribute lookup on __main__ failed익명 함수(lambda)나 로컬 함수 등 피클로 직렬화할 수 없는 객체를 읽어 들이려 하기 때문이다num_workers=0으로 설정하면 해결은 되지만 여러 workers를 사용하여 데이터를 읽으려 할 때는 이렇게 할 수 없다.아래는 W..
딥러닝 실험을 할 때, 결과의 재현성은 매우 중요하다. 실험의 일관성을 유지하기 위해서는 동일한 조건에서 실험을 반복할 수 있어야 한다. 이를 위해 랜덤 시드를 고정하는 방법을 사용할 수 있고, 아래는 랜덤 시드를 고정하는 함수와 모델을 로드하는 예시이다.import torchimport randomimport numpy as npdef set_seed(seed=42): random.seed(seed) # random module 시드 고정 np.random.seed(seed) # numpy 랜덤 시드 고정 torch.manual_seed(seed) # PyTorch CPU 랜덤 시드 고정 torch.cuda.manual_seed_all(seed) # 멀티 GPU 환경 동일..
PyTorch의 forward() 연산 방식은 기본적으로 순차적으로 실행되는 것처럼 보이지만, 내부적으로 가능한 연산을 병렬로 실행한다. 특히 GPU에서는 연산이 비동기적으로 수행될 수 있고병렬 처리를 더욱 효율적으로 활용할 수 있다.연산 그래프PyTorch에서 forward() 실행 시 생성되는 연산 그래프(Computation Graph)는동적 방식(Dynamic Computation Graph)으로 작동한다.이는 모델의 forward pass 과정에서 연산이 발생할 때마다 그래프가 즉시 생성되는 방식이다.연산 그래프의 특징동적 생성(Dynamic Graph)TensorFlow의 정적 그래프(Static Graph)와 달리, PyTorch는 실행 시점에서 그래프를 즉시 생성한다.따라서 모델 구조를 유..
Python의 tracemalloc은 코드에서 메모리 할당을 추적할 수 있도록 도와주는 기본 모듈이다.가장 많은 메모리를 할당하는 5개의 파일을 표시한 출력 형식은 아래와 비슷하다./home/user/test.py:1817: size=18.2 MiB, count=556, average=33.5 KiB:672: size=438 KiB, count=4584, average=98 B/usr/lib/python3.10/threading.py:258: size=417 KiB, count=1384, average=309 B:241: size=175 KiB, count=1871, average=96 B/usr/lib/python3.10/queue.py:207: size=144 KiB, count=467, averag..
Kubernetes Pod Docker 컨테이너 내에서 nvidia-smi Failed to initialize NVML: Unknown Error Kubernetes Pod Docker 컨테이너 내에서 nvidia-smi Failed to initialize NVML: Unknown Error쿠버네티스 파드의 도커 컨테이너 내에서 nvidia-smi를 입력했을 때, 간혹 아래의 오류를 보는 경우가 있다.Failed to initialize NVML: Unknown Error컨테이너를 정지했다가 재시작하면 동작하긴 하지만 근본machine-does-not-lie.tistory.com이 글에 이은 정보이다.Docker 컨테이너 내에서 nvidia-smi를 입력했을 때, 간혹 아래의 오류를 보는 경우가 있다..
Python의 faulthandler 모듈은 프로그램에서 발생하는 심각한 오류나예외(메모리 관련 오류)에 대한 진단을 돕는 모듈이다.Python의 내부 오류나 C 확장 모듈에서 발생한 오류를 추적하고,문제가 발생한 지점을 더 쉽게 찾아내도록 도와준다.Python 3.3 버전 이상에서만 사용할 수 있다.기본 사용법은 아래와 같다.import faulthandlerfaulthandler.enable()심각한 오류 발생 시 자동으로 스택 트레이스를 출력하여 문제 발생 지점을 알려준다.코드 실행 중 특정 지점에서 수동으로 스택 트레이스를 출력하려면 dump_traceback을 사용할 수 있다.import faulthandlerfaulthandler.dump_traceback()faulthandler — 파이썬 ..