분류 전체보기

Vision과 LLM이 결합된 VLM, 그 중 하나인 LLaVA에 대해 코드 수준으로 알아보려 한다.핵심 기능 하나씩 어떤 역할을 하는지 알아보자 오늘 알아볼 내용은 LLaVA의 Predict 과정입니다.알아보기 앞서, LLavA는 Vision을 담당하는 ViT모델 - CLIP 모델, Language를 담당하는 LLM으로 이루어져있습니다. 추론이 작동하는 방식은 다음 단계와 같습니다. 이미지를 Vision Model로 디지털 데이터화 (Feature)데이터를 이후에 같이 LLM에 넣을 언어 데이터 형식과 동일하게 변경 (Tensor)언어(프롬프트)를 LLM에 넣을 형식으로 변경 (Tensor)두 데이터를 하나로 묶음 (Linear)LLM에 입력 후 추론 & 결과 출력 이제 하나씩 보도록 하겠습니다.코드는..
Pytorch의 모델 가중치 파일을 Onnx로 변환하는 방법을 알아보자 Pytorch에서 Onnx 타입으로 변환하는건 여러 이유가 있습니다. 양자화다른 타입으로 변환등이 있습니다. 오늘은 YOLO의 가중치 파일(.pt)을 ONNX(.onnx)로 바꾸는 방법을 알아보겠습니다. Ultralytics YOLO는 이미 ONNX 로 변환하는 기능을 라이브러리에 포함하여 제공하고 있습니다.Ultralytics의 onnx변환 그리고 pytorch에서 제공하는 onnx 변환 방식 두가지 모두 실행하고 결과를 비교해보겠습니다. 1. Pytorch 모델 가중치 파일 준비from ultralytics import YOLOorigin_model = YOLO('yolo11n.pt')※ 나중에 검증을 빠르게 끝내기 위해서 가장 ..
AI 관련 공부를 하다보면 논문을 기반하여 모델을 구현하는 사람들이 많다.코드 한줄 없는 논문을 보고 어떻게 코드로 구현하는지 한번 알아보자 ※ 처음부터 독학하면서 얻은 경험을 기술한 것이기에 과정에 있어 오답이 특히 많을 수 있습니다. 오늘 구현해볼 논문은 Google이 발표한 MobileNet V1입니다.그리고 따라 구현하려면 최소한 CNN(Convolutional Neural Network)에 대한 지식은 있어야 이해 할 수 있습니다.또한 구현을 위해 사용하는 프레임 워크가 PyTorch 이므로 이에 대한 기본 지식이 있어야 합니다. 논문 주소 : https://arxiv.org/pdf/1704.04861사용하는 프레임워크 : PyTorch 1. 모델의 구조 해석해당 논문에서는 3.3의 Table...
매번 pycharm으로 환경을 클릭으로 만들다가 cmd환경에서는 어떻게 만드는지 한번 알아보고자 합니다. 환경windows 11python : 3.12 (환경변수까지 완료)cmd 1. 가상환경(virtual environment) 만들기원하는 폴더에 cmd 실행python --version 명령어를 통해 버전이 잘 나오면 이후 과정 진행※만약 Python이란 단어가 나오거나 실행이 제대로 안될경우 환경 변수 진행 필요 아래 명령어를 이용하여 venv(virtual environment) 생성python -m venv [원하는 venv폴더 이름]예시python -m venv studyVenv 2. pip을 이용하여 django 설치우선 venv를 활성화 후 해당 venv에 pip을 이용하여 django를 ..
문제점이 발견되어 이를 해결함과 동시에 문제의 여러 원인 중 하나인 라이브러리 교체를 하고자 함문제점 및 해결 과정날씨가 습해질 때마다 정전기 때문에 자동으로  스위치가 작동하는 현상 발생스위치 모드를 짧게 누르기, 길게 누르기로 제공하여 사용자가 정전기에 의한 오작동을 방지하는 선택권을 주기로 함기존 인터럽트를 통한 릴레이 제어 방식에 한계가 있어서 변경하고자 함MQTT 라이브러리가 서버와 연결이 끊길 경우 재연결시도에 5초 이상을 소비함으로 오프라인 상태에서 일반적인 루프 방식으로 버튼 제어가 현실적으로 불가능기존 라이브러리(PunSubClient)는 오랬동안 개발 중단 및 문제가 있어 AsyncMQTT라는 라이브러리로 교체하고자 함라이브러리 깃허브다운로드 및 설치 아두이노 IDE 기준으로lib 검색..
· 개발잡담
TDD는 Test Driven Development의 약자를 의미하며 테스트 주도 개발을 의미합니다. TDD에 대한 오해 매우 유명한 개발 기법으로 다양한 자료가 온라인에 존재하여, TDD에 대해 처음 접하였을때 제 기준으로 잘못 이해한 부분을 위주로 간단하게 설명하겠습니다. 1. 테스트 코드를 이용하면서 개발하면 TDD 를 사용한거다. (△)일부는 맞고 일부는 틀린 내용입니다.정확히는 테스트 코드를 주도로 하여 개발하는 것을 TDD라고 정의합니다.이는 개발하는 과정에서 본인이 테스트에 얼마나 비중을 두고 개발하는가? 라는 질문과는 거리가 먼 정의입니다.그럼 이게 정확히 어떤 의미인지는 아래에서 말씀드리겠습니다. 2. 작동하는 코드를 개발 이후 테스트 코드를 통해 작동하는걸 검증하면서 개발하는 걸 TDD..
Red-Hat
'분류 전체보기' 카테고리의 글 목록