본문 바로가기
교내|외 활동/LPCVC

LPCV | 환경설정

by 0/0 2026. 2. 12.

1. 기본 준비

  • Python 기본
  • PyTorch 사용 경험
  • 기본적인 딥러닝 개념 (Tensor, 모델, 추론)
  • Qualcomm AI Hub 회원가입

 필수 소프트웨어

1. Python 3.9 이상

가상환경 사용 권장 (venv 또는 conda)

 

2. PyTorch

pip install torch torchvision

 

3. ONNX

pip install onnx onnxruntime

 

4. 가상환경 설정

작업하려는 폴더에서 다음의 명령어를 입력해 가상환경 만들기

python3.11 -m venv clipenv
source clipenv/bin/activate
pip install torch torchvision
pip install onnx

 

설치 완료되면

(clipenv) yourname@yourcomputer {폴더 이름} %

이런식으로 뜸

 

5. qai-hub 다운

pip install qai-hub

 

- 설치 끝나고 확인

(clipenv) yourname@yourcomputer {폴더이름} % which qai-hub

/Library/Frameworks/Python.framework/Versions/3.12/bin/qai-hub #예시

 

 

2. CLIP Baseline 준비

Track1의 기본 베이스라인은 CLIP 기반이다.

 

공식 GitHub:

설치:

pip install git+https://github.com/openai/CLIP.git

 

Baseline 테스트 코드

import torch
import clip
from PIL import Image

device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)

image = preprocess(Image.open("test.jpg")).unsqueeze(0).to(device)
text = clip.tokenize(["a dog", "a cat"]).to(device)

with torch.no_grad():
    image_features = model.encode_image(image)
    text_features = model.encode_text(text)

    similarity = image_features @ text_features.T
    print(similarity)

 

이 단계에서 해야 할 것:

  • 모델이 정상 동작하는지 확인
  • 이미지 → 텍스트 유사도 계산 이해

3. Qualcomm AI Hub 준비

 

Track1에서 매우 중요한 플랫폼: Qualcomm AI Hub

 

역할:

 

  • PyTorch 모델 변환
  • ONNX 변환
  • 모바일 최적화
  • Latency 측정

 

모델 Export 준비

 

PyTorch → ONNX 변환 예시:

dummy_input = torch.randn(1, 3, 224, 224)
torch.onnx.export(model.visual, dummy_input, "clip_visual.onnx")

 

여기서 중요한 점:

 

  • dynamic axis 설정
  • batch size 고정 여부
  • input size 통일

 

4. 권장 디렉토리 구조

LPCVC_Track1/
│
├── data/
├── models/
├── export/
├── inference.py
├── train.py
└── requirements.txt

 

프로젝트를 처음부터 구조화하는 것이

나중에 최적화 단계에서 매우 중요하다.

 

 6. Latency 대비 전략 (초기 단계)

 

환경 설정 이후 가장 먼저 해야 할 것:

 

  1. Baseline Latency 측정
  2. FP32 모델 크기 확인
  3. FLOPs 계산
  4. 병목 지점 찾기

 


7.  실수하기 쉬운 부분

 

⚠ CLIP을 그대로 쓰면 느리다

⚠ Text encoder가 병목일 수 있다

⚠ Mobile은 메모리 제한이 크다

⚠ Batch inference 전략 중요

 

8. 작업 순서

1. 시작:

작업하려는 폴더에 들어가기 +

가상환경 켜기

source clipenv/bin/activate

 

2. 텍스트, 이미지 인코더 파일 작성

 

3. export(?)

python3 export_image_onnx.py

 

4. Qualcomm AI Hub 컴파일 잡 제출

./clipenv/bin/qai-hub submit-compile-job \
  --model tiny_image_model \
  --device "XR2 Gen 2 (Proxy)" \
  --input_specs "{'image_input': ((1, 3, 224, 224), 'float32')}" \
  --wait

'교내|외 활동 > LPCVC' 카테고리의 다른 글

LPCV | 텍스트, 이미지 인코더  (0) 2026.02.19
LPCV | 모델 학습시켜보기  (0) 2026.02.19
LPCV | Clip 모델  (0) 2026.02.12