| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 명령어
- JSON
- ubuntu
- Docker
- label
- OpenCV
- Python
- C#
- mysql
- pandas
- pip
- Visual Studio
- pytorch
- paramiko
- YOLO
- Labelme
- windows forms
- nvidia-smi
- Numpy
- Linux
- error
- Selenium
- C++
- VS Code
- C
- 프로그래머스
- SSH
- 컨테이너
- 오류
- 채보
- Today
- Total
목록전체 글 (348)
기계는 거짓말하지 않는다
제가 직접 겪었던 일이며, 다른 분들도 충분히 피해를 볼 수 있기 때문에 공익의 목적으로 적습니다.리뷰와 별점 및 가격만 보고 구매했던 것이 잘못이었습니다.이 부분의 자세한 내용은 쿠팡의 아이템 위너 시스템을 검색해 보시면 됩니다. 얼마 전에 쿠팡에서 구매했던 센트룸 실버 제품의 가격을 잠깐 확인하기 위해 상품 페이지를 다시 확인해 봤습니다.그런데 두 제품 모두 상품을 찾을 수 없다는 안내가 나왔습니다.처음에는 단순히 판매가 종료된 것일 수도 있다고 생각했는데 구매한 지 몇 달밖에 지나지 않았고가족이 실제로 한 달 정도 복용 중이었던 영양제라 혹시 가품은 아닌지 걱정되었습니다. (사업자를 돌려서 사용하는 수법 등) 당시 구매했던 제품은 센트룸 실버 우먼 50+ 275정과 센트룸 실버 맨 50+ 275정입..
Python에서 작업을 Queue에 넣고 다른 실행 단위에서 처리하려고 할 때 queue.Queue와 asyncio.Queue를 사용할 수 있다.두 Queue의 사용 방법은 비슷하지만 사용하는 실행 구조가 다르기 때문에 상황에 맞게 선택해야 한다.1. queue.Queue와 asyncio.Queue 차이queue.Queue는 여러 thread 사이에서 데이터를 안전하게 전달하기 위한 Queue이다.내부적으로 thread 간 동기화를 위한 locking 처리를 제공하므로, 하나의 thread에서 작업을 생성하고 다른 thread에서 처리하는 구조에 사용할 수 있다.asyncio.Queue는 async/await 기반으로 동작하는 여러 비동기 Task 사이에서 데이터를 전달하기 위한 Queue이다.async..
직접 구매해서 사용한 후기입니다. 지금까지 계속 샴푸를 바꿔왔었는데, 한 번씩 보이는 비듬이 신경 쓰여서 이번에는라보에이치 댄드러프클리닉 샴푸 400ml 제품을 사용해 봤습니다. 기존에 사용하던 샴푸로는 비듬이 크게 줄어드는 느낌이 없어서 비듬용 샴푸를 찾아보다가 구매했습니다.사용했을 때 두피에 살짝 화한 느낌이 있었습니다.따갑거나 자극적이라는 느낌보다는, 머리를 감을 때 두피가 시원해지는 청량한 느낌이었습니다. 개인적으로 가장 만족했던 부분은 비듬이 눈에 띄게 줄어든 점입니다.저는 사용 후 일주일 안에 비듬이 많이 줄어든 것을 느꼈습니다.기존에는 머리를 감고 나서 머리를 빗을때도 신경쓰였는데, 이 제품을 사용한 뒤에는 그런 부분이 확실히 줄었습니다.두피 상태는 사람마다 다르기 때문에 모든 사람에게 같은..
Python에서 설정값이나 간단한 데이터 구조를 만들 때 일반 class를 사용할 수 있다.하지만 단순히 값을 저장하는 용도라면 매번 __init__, __repr__ 같은 메서드를 직접 작성하는 것이 번거롭다.이럴 때 Python 표준 라이브러리의 dataclass를 사용할 수 있다.1. 일반 class로 작성하는 경우예를 들어 학습 설정값을 저장하는 클래스를 일반 class로 만들면 다음과 같이 작성할 수 있다.class TrainConfig: def __init__(self, model_name: str, batch_size: int, image_size: int): self.model_name = model_name self.batch_size = batch_size..
PyTorch로 모델을 학습할 때 GPU 메모리가 부족하거나 학습 속도를 조금 더 개선하고 싶을 때 AMP를 사용할 수 있다.AMP는 Automatic Mixed Precision의 약자로, 일부 연산은 float16 같은 낮은 정밀도로 수행하고, 필요한 연산은 float32로 유지하는 방식이다.이 글에서는 CUDA 환경에서 torch.amp.autocast와 torch.amp.GradScaler를 사용하는 기본 형태를 정리한다.1. AMP를 사용하는 이유딥러닝 모델 학습에서는 대부분 float32를 사용한다. float32는 안정적이지만, GPU 메모리 사용량이 크고 연산량도 많다.AMP를 사용하면 일부 연산을 float16으로 처리할 수 있어 GPU 메모리 사용량을 줄일 수 있고, 환경에 따라 학습 ..
PyTorch에서 추론 코드를 작성할 때 torch.no_grad와 torch.inference_mode를 사용할 수 있다.두 기능은 모두 gradient 계산을 막는 용도로 사용할 수 있지만 완전히 같은 기능은 아니다.또한 model.eval()과도 역할이 다르다.model.eval()model.eval()은 모델을 평가 모드로 변경한다.Dropout, BatchNorm처럼 train mode와 eval mode에서 동작이 달라지는 module에 영향을 준다.하지만 model.eval()은 gradient 계산을 끄는 기능이 아니다.import torchfrom torch import nnmodel = nn.Sequential( nn.Linear(4, 8), nn.ReLU(), nn.D..
Labelme에서 이미지 폴더를 열었는데 jpg 파일이 보이지 않는 경우가 있다.분명히 폴더 안에는 jpg 이미지가 있는데 Labelme에서는 이미지를 찾지 못하거나, 이미지 목록에 jpg 파일이 표시되지 않는 상황이다.Labelme 자체 문제라기보다는 PyQt5의 Qt image plugin 경로 문제였다.즉, PyQt5에서 jpg, jpeg 포맷을 읽을 수 있는 plugin을 제대로 찾지 못해서 Labelme에서도 jpg 이미지를 인식하지 못한 것이다.1. 문제 상황Labelme를 실행한 뒤 jpg 이미지가 들어있는 폴더를 열었는데 이미지가 정상적으로 보이지 않았다.이런 경우 먼저 폴더 경로, 파일 확장자, 파일 손상 여부를 확인할 수 있다.하지만 파일 자체에는 문제가 없는데도 jpg 이미지만 보이지..
Python logging 모듈에서 로그 파일 크기를 제한하는 예시이다.FileHandler를 사용하면 로그 파일이 계속 커질 수 있다.로그 파일 크기를 기준으로 파일을 나누려면 logging.handlers의 RotatingFileHandler를 사용하면 된다.기본 예시아래 코드는 로그 파일 크기가 10MB에 가까워지면 파일을 분리한다.backupCount가 5이므로 기존 로그 파일은 최대 5개까지 보관된다.import loggingfrom logging.handlers import RotatingFileHandlerimport datetimeimport osdef setup_rotating_logger( log_file_name="process.log", log_name="logger", ..