반응형

분류 전체보기 543

파이썬 UMAP 차원 축소 및 시각화 예제

안녕하세요.이번 글에서는 python에서 대표적인 차원 축소 알고리즘 중 하나인umap을 통해서 차원 축소를 해보고 시각화로 결과를 살펴보는 예제를 다루어 보겠습니다. 모듈 설치UMAP 시각화를 위해서는 umap-learn 모듈의 설치가 필요합니다.다음의 명령어로 쉽게 설치가 가능합니다.!pip install umap-learn 데이터셋 로드 및 정규화이해를 돕기 위하여, 사이킷런에서 제공하는 iris 데이터셋을 대상으로 차원 축소 및 시각화를 해보겠습니다. 먼저, 필요한 모듈들을 import하고 데이터셋 로드 및 정규화를 해보겠습니다.umap 차원 축소 시에는 정규화 과정이 꼭 필요하니 참고하세요.# 0) 모듈 임포트from sklearn.datasets import load_irisfrom skl..

Python/Sklearn 2025.08.18

apt-get update 중 File has unexpected size 오류

리눅스 환경에서 apt-get update를 실행하던 도중 다음과 같은 오류가 발생하였습니다.E: Failed to fetch https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/Packages.gzFile has unexpected size (1852870 != 1850507). Mirror sync in progress? [IP: ~~.~~.~~.~~] NVIDIA 포럼을 찾아본 결과, 동시간대에 같은 오류를 겪는 분들이 많았습니다.https://forums.developer.nvidia.com/t/apt-get-update-is-failing/340190 Apt-get update is failingThe apt-ge..

Linux 2025.07.25

[Git] 실수로 git push한 내역 안전하게 되돌리기

안녕하세요.이번 시간에는 실수로 git push를 잘못하였을 경우,이를 안전하게 되돌리는 방법에 대하여 살펴보도록 하겠습니다. 상황 가정만일, 다음과 같이 main 브랜치에 git push를 실수로 했던 상황을 가정해보겠습니다.git reset --hard 1bd654f # 커밋 번호 가정git push origin main --force이럴 때에 "내가 작업한 커밋들이 전부 사라진 건 아닐까?" 하는 생각에 당황하기 쉽습니다.하지만 git은 로컬 기록을 잘 관리하고 있어 침착하게 복구할 수 있습니다. 복구 방법다음 명령어로 내역을 조회할 수 있습니다.git reflog 그러면 다음과 같이 내역이 시간 순으로 출력되는데, 잘못 push한 내역의 이전을 기준으로되돌리고 싶은 커밋 해시 번호를 찾아주시면..

Git 2025.07.13

Pytorch로 Face Segmentation 해보기 간단 예제

안녕하세요. 이번 글에서는파이토치로 얼굴 이미지에 대하여 부위별 세그멘테이션을 진행하는 아주 간단한 예제 코드를 다루어보도록 하겠습니다. 먼저, 필요한 모듈들을 설치해줍니다.pytorch의 경우에는 반드시 CUDA의 버전과 호환되도록 맞추어서 설치해주셔야 합니다.$pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 # CUDA 12.4용 예시$pip install transformers pillow matplotlib requests 모듈 설치가 완료되었다면 아래의 코드 스니펫으로 Face Segmentation을진행해보실 수 있습니다. 초기 코드 실행 시에 한해서 모델 다운로드가 진행됩니다..

Python/Vision Code 2025.07.07

파이썬 재시도 로직 모듈 tenacity 사용 예제

안녕하세요. 이번 글에서는 Python에서 api 호출 등의 과정에서재시도를 진행할 때 유용한 모듈인 tenacity에 대하여간단한 사용 예제를 통하여 사용법을 살펴보도록 하겠습니다. 예시 코드 스니펫은 다음과 같습니다.import aiohttpfrom tenacity import retry, stop_after_attempt, wait_random_exponential# 미설치 시 !pip install tenacity@retry( stop=stop_after_attempt(4), wait=wait_random_exponential(multiplier=1, max=7), retry_error_callback=lambda retry_state: {"status": "fallback"})a..

Python/Utils 2025.06.28

OpenCV 임포트 과정에서 ImportError: libGL.so.1: cannot open shared object file: No such file or directory 오류 해결법

안녕하세요.이번 글에서는 파이썬에서 cv2 모듈을 import하는 과정에서 발생 가능한ImportError: libGL.so.1: cannot open shared object file: No such file or directory오류를 해결하는 방법을 간략하게 다루어보도록 하겠습니다. 오류 개요python에서 cv2 모듈을 임포트하는 과정에서다음과 같은 오류 메시지가 발생하였습니다.import cv2ImportError: libGL.so.1: cannot open shared object file: No such file or directory 이는 opencv 모듈을 활용하기 위한 libgl1 패키지 중 누락이 있어 발생하는 오류입니다. 해결 방법우분투 기준, 다음과 같은 명령어로 관련 라이브러..

Python/Debugging 2025.06.15

[Git] 파이썬 프로젝트에 대하여 pre-commit 적용 방법 예시

안녕하세요. 이번 시간에는 코드 커밋 이전에 자동으로 포맷팅, 린팅, 문법 검사 등을 수행하면서일관된 코드 스타일을 유지하고, CI 파이프라인 전단계에서 실수를 잡아낼 수 있도록pre-commit 프레임워크를 적용하는 방법을 예시를 통해서 간단하게 살펴보도록 하겠습니다. 해당 글에서는 파이썬 프로젝트 레포를 기준으로 설명을 진행하겠습니다. 1. 설정 파일 작성 예시원하는 커밋 훅 종류를 골라 다음과 같이 레포 내 루트 디렉토리에 .pre-commit-config.yaml이름의 파일로 작성해줍니다.fail_fast: falserepos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: tr..

Git 2025.06.14

WSL 환경에서 FastAPI 서버 접속이 안될 때 해결 방법

안녕하세요. 이번 시간에는 윈도우에서 WSL로 리눅스를 사용할 때,리눅스 환경에서 띄운 FastAPI 서버가 윈도우에서 보이지 않을 때해결 방법을 간략하게 다루어보도록 하겠습니다. 해결 방법1. 먼저, wsl 터미널에서 정상적으로 서버가 띄워졌는지 확인합니다.예시 명령어는 다음과 같습니다.(docs 페이지를 확인)curl -i http://127.0.0.1:1226/docs 만일, 여기서 200 응답이 돌아오면 서버 자체의 문제는 아닙니다. 2. WSL2의 가상 IP 주소를 확인해야 합니다. 명령어는 다음과 같습니다.ip addr show eth0 | grep 'inet ' 여기서 IP 주소가 172.xxx.yyy.zzz/20 처럼 보이게 됩니다.그렇다면, 윈도우에서 다음과 같은 주소로 접속을 시도해봅..

Python/Backend 2025.06.12

리눅스에서 파일 갯수 세기 / 파일명 조회 명령어 정리

안녕하세요. Linux에서 디렉토리 내에 존재하는 파일 갯수를 세거나일부 파일명을 조회하는 명령어를 간략하게 정리해보도록 하겠습니다. 파일 갯수 세기 명령어현재 디렉토리 기준에서 파일 갯수를 세는 기본적인 명령어는 다음과 같습니다.# 숨김 파일 제외(하위 폴더 포함)ls -1 | wc -l# 숨김 파일 포함(하위 폴더 포함)ls -1A | wc -l# 현재 디렉토리의 파일 개수 세기 (숨김 파일 제외, 하위 폴더 미포함)find . -maxdepth 1 -type f | wc -l# 현재 디렉토리의 파일 개수 세기 (숨김 파일 포함, 하위 폴더 미포함)find . -maxdepth 1 -type f -o -path './.*' -type f | wc -l 만일, 하위 폴더까지 모두 탐색하거나 특정 확..

Linux 2025.06.11

[Pytorch] model.eval() vs torch.no_grad()의 차이

안녕하세요. 이번 시간에는 파이토치에서 추론에 사용되는 eval() 모드와gradient를 생략하기 위해서 사용되는 torch.no_grad()의 차이에 대해서간략하게 비교 예제로 차이를 이해해보도록 하겠습니다. 모델 예시다음과 같은 아주 간단한 모델과 텐서가 있다고 가정해보겠습니다.Dropout이 있는 상황을 주목해주시면 좋습니다.import torchimport torch.nn as nn# 모델 정의model = nn.Sequential( nn.Linear(10, 5), nn.ReLU(), nn.Dropout(p=0.5))# 예시 inputinput_tensor = torch.randn(1, 10) 코드 출력 비교 예시model.train()output_train_1 = model..

Python/Pytorch 2025.06.03
반응형