Ubuntu 22.04에서 YOLOv5 개발 환경 구축하기

이 가이드는 Ubuntu 22.04 시스템에 YOLOv5 객체 감지 모델을 위한 개발 환경을 설정하는 방법을 상세히 설명합니다. 효율적인 패키지 관리를 위해 Miniconda를 활용하고, PyTorch 및 YOLOv5의 필수 의존성을 설치하는 과정을 다룹니다.

Miniconda 설치 및 환경 설정

Miniconda는 Python 환경과 패키지를 관리하는 데 유용한 도구입니다. 아래 단계에 따라 설치를 진행합니다.

1. Miniconda 다운로드

먼저, Miniconda 설치 스크립트를 다운로드합니다. 최신 버전을 다운로드하려면 공식 웹사이트를 확인하는 것이 좋지만, 일반적으로 다음 명령어를 사용할 수 있습니다.

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

2. Miniconda 설치

다운로드한 스크립트를 실행하여 Miniconda를 설치합니다. 설치 과정 중 라이선스 동의 및 설치 경로 지정 프롬프트가 나타나면 지시에 따라 진행합니다. 대부분의 경우 Enter를 누르고, 질문에는 'yes'를 입력하면 됩니다.

sh Miniconda3-latest-Linux-x86_64.sh

3. 환경 변수 설정

설치가 완료되면, 터미널 세션에 Miniconda를 활성화하기 위해 환경 변수를 업데이트합니다.

source ~/.bashrc

이 명령을 실행하면 현재 터미널에서 (base) 환경이 활성화됩니다.

4. Conda 채널 미러 설정 (선택 사항)

패키지 다운로드 속도를 향상시키기 위해 Conda 채널 미러를 설정할 수 있습니다. 먼저, `.condarc` 파일을 생성합니다.

conda config --set show_channel_urls yes

이후, 다음 명령어를 사용하여 `.condarc` 파일을 편집하고 아래 내용을 추가합니다. (여기서는 Tsinghua 미러를 예시로 사용합니다. 사용자 위치에 따라 더 적합한 미러를 선택할 수 있습니다.)

gedit ~/.condarc

파일 내용:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

변경사항 적용 후, 캐시를 정리합니다.

conda clean -i

5. Pip 미러 설정 (선택 사항)

Pip 패키지 다운로드 속도 향상을 위해 미러를 설정할 수 있습니다. (Tsinghua 미러 예시)

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

PyTorch 설치

YOLOv5는 PyTorch 프레임워크를 기반으로 합니다. 사용하려는 하드웨어(GPU 또는 CPU)에 맞춰 PyTorch를 설치해야 합니다.

1. YOLOv5 가상 환경 생성

YOLOv5를 위한 독립적인 Conda 가상 환경을 생성하고 활성화합니다.

conda create -n yolov5 python=3.8 -y
conda activate yolov5

(python=3.8은 권장되는 PyTorch 및 YOLOv5 호환 버전 중 하나입니다. 필요에 따라 버전을 조절할 수 있습니다.)

2. PyTorch 설치

사용하는 시스템의 하드웨어 구성에 따라 GPU 또는 CPU 버전을 선택하여 설치합니다. NVIDIA GPU를 사용하는 경우 GPU 버전을, 그렇지 않은 경우 CPU 버전을 설치합니다. PyTorch 공식 웹사이트(Start Locally | PyTorch)에서 시스템에 맞는 정확한 설치 명령어를 확인하는 것이 가장 좋습니다.

GPU 버전 설치 (NVIDIA GPU 사용자용)

설치하려는 PyTorch의 CUDA 버전이 현재 시스템에 설치된 CUDA 드라이버 버전보다 낮거나 같아야 합니다. 아래는 CUDA 11.7을 지원하는 PyTorch 1.13.1 버전을 설치하는 예시입니다.

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia -y

CPU 버전 설치

GPU가 없거나 CPU 환경에서만 실행하려는 경우, 다음 명령어로 CPU 버전을 설치합니다.

conda install pytorch torchvision torchaudio cpuonly -c pytorch -y

YOLOv5 의존성 및 모델 설정

PyTorch 설치가 완료되면, YOLOv5 리포지토리를 클론하고 필요한 패키지를 설치합니다.

1. YOLOv5 리포지토리 클론

YOLOv5 공식 GitHub 리포지토리를 클론합니다.

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

2. 필수 패키지 설치

requirements.txt 파일에 명시된 모든 의존성 패키지를 설치합니다.

pip install -r requirements.txt

3. 가중치 파일 준비

학습된 YOLOv5 모델의 가중치 파일(예: yolov5s.pt)을 YOLOv5 프로젝트의 루트 디렉토리에 다운로드하여 배치합니다.

YOLOv5 테스트 및 PyCharm 설정

1. 명령줄에서 테스트

YOLOv5 Conda 환경이 활성화된 상태에서, YOLOv5 프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 객체 감지 테스트를 수행할 수 있습니다.

python3 detect.py --weights yolov5s.pt --source data/images

실행 결과는 yolov5/runs/detect/exp 경로에 저장됩니다.

2. PyCharm에서 설정 및 실행

PyCharm과 같은 IDE를 사용하여 YOLOv5 프로젝트를 개발할 수 있습니다.

  1. PyCharm 설치: PyCharm Community Edition을 공식 웹사이트에서 다운로드하고 설치합니다.

    # 다운로드한 .tar.gz 파일 압축 해제 (예시)
    tar -xvf pycharm-community-<버전>.tar.gz
    # PyCharm 실행
    cd pycharm-community-<버전>
    ./bin/pycharm.sh
    
  2. 프로젝트 열기: PyCharm을 실행하고 'Open'을 선택하여 YOLOv5 클론한 디렉토리를 프로젝트로 엽니다.

  3. Conda 인터프리터 설정: PyCharm에서 File > Settings > Project: yolov5 > Python Interpreter로 이동합니다. 톱니바퀴 아이콘을 클릭하고 'Add...'를 선택합니다. 'Conda Environment'를 선택하고 'Existing environment' 옵션에서 이전에 생성한 yolov5 Conda 환경의 인터프리터 경로를 지정합니다. 일반적으로 ~/miniconda3/envs/yolov5/bin/python과 유사한 경로에 있습니다.

  4. detect.py 실행: PyCharm에서 detect.py 파일을 열고, 스크립트 실행 버튼을 클릭하여 테스트를 수행합니다.

ONNX 형식으로 모델 내보내기

YOLOv5 모델을 ONNX 형식으로 변환하여 다양한 런타임 환경에서 효율적으로 배포할 수 있습니다.

1. ONNX 설치

먼저, ONNX 라이브러리를 설치합니다.

pip install onnx

2. 모델 내보내기

YOLOv5 프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 모델을 ONNX 형식으로 내보냅니다.

python export.py --weights yolov5s.pt --include onnx

3. ONNX 모델 시각화 (Netron)

내보낸 ONNX 모델의 네트워크 구조를 시각적으로 확인하려면 Netron 웹사이트에 접속하여 .onnx 파일을 열 수 있습니다.

Conda 기본 환경 비활성화 (선택 사항)

터미널을 열 때마다 (base) 환경이 자동으로 활성화되는 것을 원치 않는다면, 다음 명령어를 사용하여 기본 환경 자동 활성화를 비활성화할 수 있습니다.

conda config --set auto_activate_base false

태그: YOLOv5 ubuntu Miniconda PyTorch onnx

7월 26일 13:40에 게시됨