hgk0404.tistory
Code After Work
hgk0404.tistory

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리
    • [컴퓨터비전]
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404.tistory

Code After Work

[컴퓨터비전] git clone한 Utralytics 수정 가능 모드(editable mode) 설정해서 로컬 디렉토리 YOLO Class import 하기
[컴퓨터비전]

[컴퓨터비전] git clone한 Utralytics 수정 가능 모드(editable mode) 설정해서 로컬 디렉토리 YOLO Class import 하기

2025. 5. 11. 19:49
728x90

가상환경에서 설치한 pip install utralytics를 사용하지 않고, git clone으로 공식 페이지에서 직접 다운로드하는 방법을 공유하려고 합니다.

데이터 증강 등의 커스텀이 필요할 때 직접 코드를 수정하는데 편의를 위해서 이런 방식을 사용합니다.

1. utralytics 깃 허브 접속하기

깃 클론을 하기 위해 아래 링크에 접속해 줍니다.

https://github.com/ultralytics/ultralytics

 

GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀

Ultralytics YOLO11 🚀. Contribute to ultralytics/ultralytics development by creating an account on GitHub.

github.com

git clone https://github.com/ultralytics/ultralytics.git

 

2. 깃 클론을 위한 디렉토리 위치 확인하기

저 같은 경우는 디렉토리 위치를 다음과 같이 설정했습니다.

v8-dir/
├── ultralytics/           ← Git 레포 루트 (pip install -e . 한 위치)
└── yolo-script-dir/
     └── bbox-detection-script-dir/
         ├── v8_few-shot_train(3).py   ← ★ 여기
         └── configs/
             └── few-shot_train_config(3).yaml

루트 디렉토리인 v8-dir에서 다음 명령어들을 실행해줍니다.

 

3. venv 가상환경 실행 중인지 확인&코드 실행

꼭 venv 가상환경이 실행되고 있는 상태에서 실행해줍니다.

가상환경 세팅 관련은 아래 포스팅을 참고해주세요: https://hgk5722.tistory.com/600 

 

[가상환경] venv 가상환경 생성 및 실행

1. 특정 버전의 가상환경 생성먼저 파이썬의 버전부터 확인합니다.python --version Python 3.11.8이런식으로 출력된다면 자신의 버전에 맞는 venv를 설치합니다.py -3.11 -m venv env311(py명령어는 윈도우에서

hgk5722.tistory.com

git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
git checkout v8.3.128
pip install -e .

25년 5월 11일 기준 v8.3.128이 가장 최신은 아니지만 조금은 이전 버전을 기준으로 진행하겠습니다.

ultralytics tags

마지막에 입력한 pip install -e .는 수정 가능한 모드(editable mode)로 설치한다는 의미입니다. 

이렇게 하면 심볼릭 링크를 생성하여 소스 코드 변경이 즉시 반영되고, 패키지 수정시 마다 pip install을 반복할 필요가 없이, 로컬 파일만 수정하면 됩니다. 또한 venv 가상 환경의 site-packages에 경로만 등록되므로, 개발 중에 바로 테스트 할 수 있습니다.

 

4. 학습 스크립트에서 import YOLO

site-packages를 보면 이런 폴더에 이런 파일이 생성됩니다.

\v8-dir\env311\Lib\site-packages\ultralytics-8.3.128.dist-info

ultralytics-8.3.128.dist-info 디렉토리 내부

{
    "dir_info": {
        "editable": true
    },
    "url": "file:///C:/Users/hgk04/OneDrive/Desktop/%EA%B0%95%ED%98%95%EA%B7%BC/%EA%B3%B5%EB%B6%80/Vision/v8-dir/ultralytics"
}

이 경로를 찾아서 ultralytics 패키지를 찾습니다. (__init__.py 파일 있는 폴더) url에는 패키지가 없으므로 inner ultralytics 폴더를 패키지로 인식하고 그곳에 있는 __init__.py 파일에 정의된 내용을 따라"\v8-dir\ultralytics\ultralytics\models\yolo\model.py"에 정의된 YOLO CLASS를 찾게 됩니다.

그래서 가상환경을 실행한 상태에서 스크립트에 from utralytics import YOLO코드가 있으면 패키지와 서브 패키지들을 타고 타고 들어가YOLO CLASS를 찾게 됩니다.

from ultralytics import YOLO
import inspect  # ← 추가

print(f"🔍 YOLO 클래스 소스 위치: {inspect.getfile(YOLO)}")

그러면 이제 train() 함수가 있는 스크립트에 위 코드처럼 from ultralytics import YOLO만 추가해주시면 됩니다.

YOLO 클래스가 정의되어 있는 Utralytics 내부 폴더가 궁금하다면 import inspect와 print() 문도 추가해서 로그를 확인하시면 됩니다.

v8.3.128 기준 ultralytics\ultralytics\models\yolo\model.py 이곳에 YOLO 클래스가 정의되어 있습니다.

궁금하시다면 venv/lib/ 디렉토리 속 utralytics 링크 폴더와 그 안에 파일들이 생성된 것을 확인할 수 있습니다.

 

 

728x90
저작자표시 동일조건 (새창열림)

'[컴퓨터비전]' 카테고리의 다른 글

[컴퓨터비전] YOLOv8 기본 증강 ON/OFF  (1) 2025.06.06
[OpenCV] 한글 깨짐 -> 대체 함수 사용  (1) 2025.05.23
[컴퓨터비전] YOLOv8 객체 탐지 모델 학습 따라하기  (0) 2025.04.18
'[컴퓨터비전]' 카테고리의 다른 글
  • [컴퓨터비전] YOLOv8 기본 증강 ON/OFF
  • [OpenCV] 한글 깨짐 -> 대체 함수 사용
  • [컴퓨터비전] YOLOv8 객체 탐지 모델 학습 따라하기
hgk0404.tistory
hgk0404.tistory
공부기록

티스토리툴바