POPULAR POSTS

서버(공부중) • 2019.01.29 16:17

우분투 서버(Ubuntu server) 고정 IP & SSH 설정

고정 IP(아이피) 설정하기 ※ 공유기가 아닌 공인 IP를 사용중이시면 건너가셔도 됩니다. ubuntu server 설치가 끝난 서버에 다음과 같은 명령어를 작동시킵니다. sudo nano /etc/netplan/50-cloud-init.yaml 그러면 # This file is generated from information provided by# the datasource. Changes to it will not persist across an instance.# To disable cloud-init's network configuration capabilities, write a file# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with t..

AI • 2026.06.11 16:53

CPU/NPU 환경에서 YOLO를 대체하는 경량 객체탐지 모델 개발 - VisionicNet 개발기

약 2달간 진행한 경량 객체탐지 모델 개발 프로젝트를 정리해보려 합니다. 결론부터 말씀드리자면 YOLO v8 Nano 대비 추론 속도 & 정확도 ± 10% 수준의 상용 라이선스 자유로운 모델을 만드는 데는 성공했고, INT8 배포는 아직 과제로 남아있습니다. 소요 시간 : 약 12개월학습(GPU 가동) 시간 : 약 315시간(약 13일) 소요개발 방식 : 1인 개발 + AI 툴(Claude, Gemini) 목표YOLO v8 Nano 모델을 대체할 CPU환경에 최적화 된 객체 탐지 모델 개발.추론 속도 및 정확도(mAP50-95)를 ± 10% 안에 드는것이 1차 목표배포 대상 : CPU 기반 서버, 모바일 엣지 디바이스 왜 만들게 됐는가?YOLO는 객체탐지 분야에서 사실상 표준처럼 쓰이는 모델이지만, Ul..

기타 • 2023.11.07 20:14

Git commit 메세지 템플릿 설정

원하는 프로젝트에 txt 파일을 하나 작성합니다. 저는 .gitmessage.txt 라는 파일을 사용합니다. 그리고 터미널을 열어서 아래와 같이 작성합니다. git config --local commit.template .gitmessage.txt # commit 메세지 수정 vscode로 설정 git config --global core.editor "code --wait" 그러면 해당 프로젝트는 깃 커밋 메세지가 기본으로 .gitmessage.txt 파일에 있는 내용으로 설정이 됩니다. 아래는 적용 예시입니다.

AI • 2026.07.23 13:28

객체탐지 성능 지표 다시 정리 - IoU, Precision, Recall, mAP

모델을 개발하다 보면 자연스럽게 외워지는 내용들이 있습니다. IoU, mAP, Precision, Recall 같은 지표들이 그렇습니다.매일 보다 보니 수치는 바로 읽히는데, 막상 누군가 "그게 정확히 뭔가요?"라고 물으면 말로 설명하기가 생각보다 애매할 때가 있습니다. 이번 기회에 한 번 제대로 정리해두려 합니다.아는 내용이지만, 써놓으면 나중에 찾아보기 편하기도 하고요. IoU - 박스가 얼마나 겹쳐있는가IoU(Intersection over Union) 는 사용자가 지정한 정답 박스(라벨)와 AI가 예측한 박스가 얼마나 일치하는지를 나타내는 값입니다.IoU = 두 박스의 겹치는 면적 / 두 박스의 전체 합친 면적통상적으로 IoU가 50% 이상이면 "검출한 것"으로 인정합니다.50% 미만이면 아예 잘..

Tip • 2026.07.15 17:09

Google Drive 대신 Syncthing으로 옮긴 Obsidian 볼트 구축기 - 실시간 동기화 + 자동 백업까지

Windows에서 Obsidian을 Google Drive로 동기화해서 쓰다 보면 어느 순간 이런 상황을 겪게 됩니다.Google Drive 데스크톱 앱이 갑자기 실행이 안 됨고쳐서 되게 해두면 며칠 뒤 또 같은 문제 반복노트를 저장할 때마다 파일이 자잘하게 계속 바뀌는데, 이런 사용 패턴과 Google Drive 동기화 엔진의 궁합이 좋지 않음이 글은 이 문제에서 벗어나기 위해 구축한 구조와, 그 과정에서 겪은 삽질까지 순서대로 정리한 기록입니다. 최종 구조구간방식역할Windows PC ↔ 개인 서버 ↔ 안드로이드Syncthing (실시간, 양방향, P2P)실제 노트 작업개인 서버 → Google Driverclone sync (매일 새벽 자동, 단방향)재해 대비 백업핵심 아이디어는 "실시간 작업"과 ..

RECENT POSTS

ViT에 깊이(Depth)를 더하면? RGB-D Depth ViT를 ImageNet-1K로 처음부터 학습한 기록

먼저 짚고 갈 점. 이 글의 "Depth ViT"는 3D 볼륨(복셀, 비디오)을 넣는 ViT가 아니라, RGB 3채널에 깊이(Depth) 1채널을 붙인 4채널 입력의 ViT입니다. VLM(Vision Language Model)의 시각 인코더로 쓸 ViT를 직접 만들면서 "RGB에 깊이를 더하면 공간 이해가 좋아질까?"라는 가설을 세웠습니다.그 첫 단계로 RGB ViT와 RGB-D ViT를 같은 ImageNet-1K로 각각 처음부터 학습했습니다.모든 수치는 저장소의 커밋과 logs/depth_vit/, logs/imagenet_vit/ 학습 로그에서 직접 읽은 값입니다.한눈에 보기RGB ViT-Base/16은 최고 78.82%, RGB-D Depth ViT는 최고 70.58%(Val Top-1)였습니다...

썸네일

Git Worktree 정리 - 브랜치를 폴더로 펼쳐 쓰는 법, 그리고 멀티 AI 에이전트와의 궁합

AI 코딩 에이전트를 여러 개 동시에 돌리다 보면 가장 먼저 부딪히는 문제가 "같은 폴더를 같이 쓰면 서로 파일을 덮어쓴다"는 점입니다.이 문제를 풀 때 자주 언급되는 도구가 git worktree입니다.이번에 개념과 명령어, 기존 방식과의 차이, 그리고 멀티 에이전트에서 어디까지 도움이 되고 어디부터는 도움이 안 되는지까지 정리했습니다. 1. Git Worktree란?git worktree는 하나의 저장소를 공유하면서, 서로 다른 디렉터리에 여러 브랜치를 동시에 체크아웃할 수 있게 해주는 기능입니다. Git 2.5부터 지원합니다.일반 저장소: 디렉터리 1개에 .git이 있고, 한 번에 1개 브랜치만 작업 공간에 펼쳐집니다.Worktree 구성: 처음 만든 저장소가 main worktree, 추가로 만든..

썸네일

딥러닝 양자화(Quantization) 정리 PTQ와 QAT, 수식으로 비교해보기

모델을 실제 엣지 디바이스나 NPU에 배포하려다 보면 양자화를 피하기 어렵습니다.특히 VisionicNet 개발 과정에서 INT8 배포를 시도하며 PTQ가 왜 실패하는지, QAT가 내부적으로 어떻게 동작하는지를 직접 겪었는데, 이번에 개념을 처음부터 다시 정리해봤습니다.수식과 가상 예시를 통해 두 방식의 차이를 단계별로 비교합니다. 양자화란FP32(32비트 부동소수점)로 표현되는 가중치와 활성화 값을 INT8 등 낮은 비트의 정수형으로 변환하여 메모리 사용량을 줄이고 추론 속도를 높이는 기법입니다.대표적인 방식이 PTQ와 QAT 두 가지입니다. PTQ (Post-Training Quantization, 훈련 후 양자화)이미 학습이 완료된 모델의 파라미터를 추가 재학습 없이 직접 양자화하는 방식입니다. 기..

썸네일

선형변환에서 고유값·고유벡터까지

AI 모델을 뜯어보다 보면 결국 벡터, 행렬, 선형변환, 고유값·고유벡터 같은 개념과 계속 마주치게 됩니다.이 글은 "AI는 결국 무엇을 하는 존재인가"라는 질문에서 출발해,선형변환의 정의부터 고유값·고유벡터가 실제로 PCA(전처리)와 SVD(모델 압축)에서 어떻게 쓰이는지까지 정리한 학습 노트입니다. 1. 선형변환은 "행렬"이 아니라 "동작"이다저는 선형 변환을 공부하면서 개념에 대해 갈피를 못잡고 있었습니다.특히 가장 먼저 짚어야 할 오해는 "선형변환 = 행렬"이라는 개념입니다.정확히는 다릅니다.선형변환 $T$: 벡터를 다른 벡터로 옮기는 추상적인 동작(함수). 아래 두 조건을 만족해야 합니다.가법성: $T(\mathbf{x}+\mathbf{y}) = T(\mathbf{x}) + T(\mathbf{y..

썸네일

행렬이란? - 데이터 그릇에서 CNN까지

딥러닝 코드를 짜다 보면 W @ x, A @ B 같은 행렬 곱셈을 매일 씁니다.그런데 막상 "행렬이 뭔가요?"라고 물으면 "숫자를 격자로 늘어놓은 것"이라는 답 이상을 말하기가 쉽지 않습니다. 이번에는 행렬의 두 가지 관점, 행렬 곱셈이 왜 그런 규칙으로 계산되는지, 그리고 CNN에서 행렬 곱셈이 어떻게 쓰이는지까지 순서대로 정리해봤습니다. 행렬을 보는 두 가지 관점1. 정적인 관점 - 데이터를 담는 그릇가장 직관적인 형태입니다. 서로 연관된 데이터를 행(Row)과 열(Column)로 정리하는 표입니다.엑셀 시트 / DB 테이블: 행은 '사람', 열은 '키, 몸무게, 나이'흑백 이미지: 가로×세로 픽셀의 밝기 숫자를 담은 격자판 ($28 \times 28$ 행렬)인접 행렬: 사람 간 친구 관계나 웹페이지..

썸네일