전체 글

전체 글

    [Python] Python의 ThreadPoolExecutor와 ProcessPoolExecutor 정리: GIL, I/O-bound, CPU-bound 이해하기

    [Python] Python의 ThreadPoolExecutor와 ProcessPoolExecutor 정리: GIL, I/O-bound, CPU-bound 이해하기

    Python에서 병렬 처리를 공부하다 보면 다음과 같은 규칙을 자주 접하게 됩니다.I/O-bound → ThreadPoolExecutorCPU-bound → ProcessPoolExecutor그런데 이것만 외우면 다음과 같은 의문이 생긴다.Python은 GIL 때문에 멀티스레딩을 제대로 못 한다는데 ThreadPoolExecutor는 왜 존재하는가?ProcessPoolExecutor도 결국 각 프로세스 안의 스레드가 CPU에서 실행되는 것 아닌가?그렇다면 모든 작업에 ProcessPoolExecutor를 사용하면 되는 것 아닌가?HTTP 요청이나 파일 읽기는 왜 Thread가 더 효율적인가?이미지 전처리는 파일을 읽으니 I/O-bound인가, 아니면 CPU-bound인가?이 글에서는 이 관계를 정리한다...

    [컴퓨터비전] Segmentation

    [컴퓨터비전] Segmentation

    1. 세그멘테이션(Segmentation)분할이라는 뜻입니다. 컴퓨터 비전 분야에서 객체 탐색을 위해 쓰이는 대표적인 기법입니다. Object Detection의 개념을 사용하기도 합니다.이미지 내 객체를 픽셀 단위로 구분합니다.특징으로는 객체의 정확한 윤곽선과 면적을 알 수 있고, 바운딩 박스(Object Detection)보다 훨씬 정밀한 정보를 제공하기에 아주 미세한 검출을 해야하는 산업용 데이터나 의료용 데이터에서 사용하는 경우가 있습니다.2. 종류1. 시맨틱 세그멘테이션 (Sementic Segmentation)"semantic": 의미의, 의미론적인이미지 내 모든 픽셀을 클래스 단위로 분류. 각 픽셀은 특정 클래스에 해당합니다. 예시: 도로 장면에서모든 하늘 픽셀 ➡️ sky모든 차 픽셀 ➡️..

    [일상] 갤럭시 카메라 무음 설정 "최신 버전 adb 사용"(APKPure 사용 x)

    [일상] 갤럭시 카메라 무음 설정 "최신 버전 adb 사용"(APKPure 사용 x)

    안녕하세요. 갤럭시 카메라 무음 설정 방법에 대해 공유해보려 합니다. 많은 분들이 갤럭시 무음카메라 설정을 해주시는데 ADB가 업데이트 되면서 방법이 달라졌기 때문에 새로운 방법을 소개할겸 포스팅 해보자 합니다. 다른 블로그에선 옛날 버전의 ADB를 "APKPure"에서 설치하는 방법을 사용하라 하지만 구글 플레이 스토어에서 최신 버전으로 다운받은 방법으로도 가능합니다. 1. 천천히 사진을 보고 따라하시면 성공하실 수 있을겁니다.2. 사진 속 빨강 체크 표시와 형광펜 색칠을 한 부분을 유심히 봐주시기 바랍니다.3. 갤럭시는 와이파이에 연결되어 있어야 합니다. 저는 "26년 1월 5일" 기준 ADB "4.0.25"를 사용하였습니다.1. 개발자 모드 켜기설정 -> 휴대전화 정보"휴대전화 정보" -> "소프트..

    [Libtorch] Libtorch visual studio 빌드하기

    [Libtorch] Libtorch visual studio 빌드하기

    Libtorch는 Pytorch의 내부 C++ 엔진입니다. 오늘은 공식 문서 예제를 이용해 CMake 빌드를 해보겠습니다.1. CUDA 설치 확인자신의 쿠다 버전이 몇인지 확인합니다. 1) 명령어 입력nvcc --version 2) 환경 변수로 확인설정 -> 시스템 -> 고급 시스템 설정 -> 환경 변수 -> 시스템 변수 -> Path(더블클릭)3) 설치 파일에서 확인C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6있다면 설치가 된 겁니다. 없다면 직접 들어가서 설치해 줍니다.https://developer.nvidia.com/cuda-12-6-0-download-archive CUDA Toolkit 12.6 Downloads developer.nvid..

    [딥러닝] 인공신경망(ANN)의 작동 원리 완전 정리: 순전파부터 역전파, 활성화 함수까지

    [딥러닝] 인공신경망(ANN)의 작동 원리 완전 정리: 순전파부터 역전파, 활성화 함수까지

    인공신경망(ANN), 뇌를 닮은 알고리즘의 작동 원리인공지능(AI)의 대표적인 알고리즘 중 하나인 "인공신경망( Artificial Neural Network, ANN)은 인간 뇌의 뉴런 구조를 본떠 만든 알고리즘입니다. 딥러닝을 다루는 엔지니어로 일하고 있는만큼 기초개념은 남한테 간략하게나마 설명할 수 있어야 한다는 생각에 오늘은 인공신경망이 어떻게 작동하는지, 그 핵심 구조와 학습 방식, 그리고 왜 비선형 함수가 중요한지에 대해 정리해보겠습니다.1. 인공신경망(ANN)의 구조: 입력층 → 은닉층 → 출력층신경망은 기본적으로 층(Layer)으로 구성되며, 각 층에는 여러 개의 노드(Node) 또는 뉴런(Neuron)이 존재합니다. ANN은 크게 다음 세 가지 층으로 나뉩니다:입력층(Input layer..

    [FastAPI] FastAPI 구조화 예제 튜토리얼, 폴더 구성과 라우터 분리

    [FastAPI] FastAPI 구조화 예제 튜토리얼, 폴더 구성과 라우터 분리

    🎯 이전 포스팅에서 이어지는 내용입니다. [FastAPI] FastAPI 시작하기: 설치부터 로컬 서버 실행까지 따라하기Python으로 빠르게 백엔드 API를 만들고 싶다면 FastAPI는 훌륭한 선택입니다. 본 포스팅에서는 FastAPI 설치부터 간단한 API 서버 실행까지 단계별로 설명하겠습니다.개발 환경: Ubuntu 22.04 LTS(WSL)파이썬hgk5722.tistory.com FastAPI로 간단한 API를 만들었다면, 이제는 프로젝트를 구조화해보는 단계입니다. 규모가 커질수록 유지보수가 어려워지기 때문에, 체계적인 폴더 구성으로 코드를 분리해 보겠습니다.이번 글에서는 라우터, 스키마, 유틸 함수까지 분리된 FastAPI 폴더 구조 예제를 소개하고, 실제 실행 및 테스트 방법까지 안내해드리..