Ultralytics YOLO27:
Get Started

Ultralytics VS Code 확장 프로그램#



시청: Ultralytics Visual Studio Code 확장 프로그램 사용 방법 | 바로 사용 가능한 코드 스니펫 | Ultralytics YOLO 🎉

기능 및 장점#

✅ Ultralytics로 컴퓨터 비전 애플리케이션을 개발하는 데이터 과학자 또는 머신러닝 엔지니어이신가요?

✅ 같은 코드 블록을 반복해서 작성하는 일이 번거로우신가요?

✅ train, val, predict, export 또는 track 메서드의 인수나 기본값을 자주 잊으시나요?

✅ Ultralytics를 시작하려고 하며 코드 예제를 더 쉽게 참조하거나 실행할 방법을 찾고 계신가요?

✅ Ultralytics를 사용할 때 개발 주기를 단축하고 싶으신가요?

Visual Studio Code를 사용하고 위 항목 중 하나라도 '예'라고 답했다면, VS Code용 Ultralytics-snippets 확장 프로그램이 도움을 드립니다! 확장 프로그램과 설치 및 사용 방법에 대해 계속 읽어보세요.


Snippet Prediction Preview
20초 이내에 Ultralytics YOLO를 사용해 예제 코드를 실행하세요! 🚀

Ultralytics 커뮤니티에서 얻은 영감#

이 확장 프로그램은 Ultralytics 커뮤니티에서 영감을 얻어 개발되었습니다. 비슷한 주제와 예제에 관한 커뮤니티의 질문이 이 프로젝트 개발의 원동력이 되었습니다. 또한 Ultralytics 팀의 많은 구성원이 자신의 업무를 효율적으로 처리하기 위해 VS Code를 사용합니다 ⚡.

왜 VS Code인가요?#

Visual Studio Code는 전 세계 개발자 사이에서 큰 인기를 얻고 있으며 Stack Overflow Developer Survey에서 2021, 2022, 2023, 2024년에 가장 인기 있는 도구로 선정되었습니다. 높은 수준의 사용자 지정 기능, 내장 기능, 폭넓은 호환성 및 확장성을 고려하면 많은 개발자가 VS Code를 사용하는 것도 놀라운 일이 아닙니다. 개발자 커뮤니티 전반과 Ultralytics의 Discord, Discourse, Reddit, GitHub 커뮤니티에서 폭넓게 사용되는 만큼, 워크플로를 간소화하고 생산성을 높일 수 있도록 VS Code 확장 프로그램을 개발하는 것은 자연스러운 선택이었습니다.

코드 개발에 어떤 도구를 사용하는지 알려주시겠어요? Discourse의 커뮤니티 설문조사에 참여해 알려주세요! 방문하신 김에 컴퓨터 비전, 머신러닝, AI 및 개발자 관련 밈을 살펴보거나 가장 좋아하는 밈을 게시해 보세요!

확장 프로그램 설치#

참고

VS Code 확장 프로그램을 설치할 수 있는 코드 환경이라면 Ultralytics-snippets 확장 프로그램과 호환되어야 합니다. 확장 프로그램을 게시한 후 neovim을 VS Code 확장 프로그램과 호환되도록 설정할 수 있다는 사실을 확인했습니다. 자세한 내용은 Ultralytics-Snippets 저장소의 Readme에서 neovim 설치 섹션을 참조하세요.

VS Code에 설치하기#

  1. VS Code의 확장 프로그램 메뉴로 이동하거나 바로 가기 Ctrl+Shift ⇑+x를 사용한 다음 Ultralytics-snippets를 검색하세요.

  2. Install 버튼을 클릭하세요.


VS Code extension menu

VS Code 확장 프로그램 마켓플레이스에서 설치하기#

  1. VS Code 확장 프로그램 마켓플레이스를 방문해 Ultralytics-snippets를 검색하거나 VS Code 마켓플레이스의 확장 프로그램 페이지로 바로 이동하세요.

  2. Install 버튼을 클릭하고 브라우저에서 VS Code 세션을 실행하도록 허용하세요.

  3. 안내에 따라 확장 프로그램을 설치하세요.


VS Code marketplace extension install
Ultralytics-Snippets의 Visual Studio Code 확장 프로그램 마켓플레이스 페이지

Ultralytics-Snippets 확장 프로그램 사용하기#

  • 🧠 지능형 코드 완성: Ultralytics API에 맞춤화된 고급 코드 완성 제안으로 더 빠르고 정확하게 코드를 작성하세요.

  • ⌛ 개발 속도 향상: 반복적인 코딩 작업을 줄이고 미리 작성된 코드 블록 스니펫을 활용해 시간을 절약하세요.

  • 🔬 코드 품질 개선: 지능형 코드 완성 기능으로 더 깔끔하고 일관되며 오류 없는 코드를 작성하세요.

  • 💎 간소화된 워크플로: 일반적인 작업을 자동화해 프로젝트의 핵심 로직에 집중하세요.

개요#

확장 프로그램은 언어 모드가 Python으로 설정된 경우에만 작동합니다 🐍. 이는 다른 파일 형식에서 작업할 때 스니펫이 삽입되는 것을 방지하기 위한 것입니다. 모든 스니펫의 접두사는 ultra로 시작하며, 확장 프로그램을 설치한 후 편집기에서 ultra를 입력하기만 하면 사용할 수 있는 스니펫 목록이 표시됩니다. Ctrl+Shift ⇑+p를 사용해 VS Code 명령 팔레트를 열고 Snippets: Insert Snippet 명령을 실행할 수도 있습니다.

코드 스니펫 필드#

많은 스니펫에는 기본 플레이스홀더 값이나 이름이 설정된 "필드"가 있습니다. 예를 들어 predict 메서드의 출력은 r, results, detections, preds 또는 개발자가 원하는 다른 이름의 Python 변수에 저장할 수 있으므로 스니펫에는 "필드"가 포함됩니다. 스니펫을 삽입한 후 키보드에서 Tab ⇥를 누르면 커서가 각 필드 사이를 빠르게 이동합니다. 필드를 선택한 상태에서 새 변수 이름을 입력하면 해당 항목뿐 아니라 스니펫 코드에서 해당 변수가 사용된 모든 항목도 변경됩니다!


Multi-update field and options
스니펫을 삽입한 후 model의 이름을 변경하면 world_model 모든 인스턴스가 업데이트됩니다. Tab ⇥을 누르면 다음 필드로 이동합니다. 이때 드롭다운 메뉴가 열려 모델 스케일을 선택할 수 있으며, 다음 필드로 이동하면 world 또는 worldv2 모델 변형을 선택할 수 있는 또 다른 드롭다운이 표시됩니다.

코드 스니펫 자동 완성#

더욱 _짧은_ 바로 가기

스니펫의 전체 접두사를 입력하거나 접두사의 첫 부분부터 입력할 필요는 없습니다. 아래 이미지에서 예제를 확인하세요.

스니펫 이름은 가능한 한 설명적으로 지정되어 있지만, 그만큼 입력할 내용이 많아져 더 빠르게 작업하려는 목표에 역효과를 낼 수 있습니다. 다행히 VS Code에서는 ultra.example-yolo-predict, example-yolo-predict, yolo-predict 또는 ex-yolo-p만 입력해도 원하는 스니펫 옵션을 찾을 수 있습니다! 원하는 스니펫이 실제로 ultra.example-yolo-predict-kwords라면 키보드 화살표 ↑ 또는 ↓로 원하는 스니펫을 강조 표시한 후 Enter ↵ 또는 Tab ⇥을 눌러 올바른 코드 블록을 삽입하면 됩니다.


VS Code incomplete code snippet preview
ex-yolo-p를 입력해도 올바른 스니펫을 여전히 사용할 수 있습니다.

스니펫 카테고리#

다음은 Ultralytics-snippets 확장 프로그램에서 현재 사용할 수 있는 스니펫 카테고리입니다. 앞으로 더 추가될 예정이므로 업데이트를 확인하고 확장 프로그램 자동 업데이트를 활성화하세요. 누락된 항목이 있다고 생각되면 추가 스니펫을 요청할 수도 있습니다.

카테고리시작 접두사설명
예제ultra.examplesUltralytics를 배우거나 시작하는 데 도움이 되는 예제 코드입니다. 예제는 문서 페이지에 있는 코드의 복사본이거나 유사한 코드입니다.
키워드 인수ultra.kwargs모든 키워드 인수와 기본값이 포함된 train, val, predict, track 메서드 스니펫을 추가해 개발 속도를 높이세요.
가져오기ultra.imports일반적인 Ultralytics 객체를 빠르게 가져오는 스니펫입니다.
모델ultra.yolo드롭다운 구성 옵션이 포함된 다양한 모델(yolo, sam, rtdetr 등)을 초기화하는 코드 블록을 삽입합니다.
결과ultra.result추론 결과 작업을 위한 일반적인 작업의 코드 블록입니다.
유틸리티ultra.utilUltralytics 패키지에 내장된 일반적인 유틸리티에 빠르게 액세스할 수 있습니다. 자세한 내용은 Simple Utilities 페이지를 참조하세요.

예제로 배우기#

ultra.examples 스니펫은 Ultralytics YOLO 사용의 기본 사항을 시작하는 방법을 배우려는 모든 분에게 매우 유용합니다. 예제 스니펫은 삽입 후 바로 실행할 수 있도록 제공됩니다(일부에는 드롭다운 옵션도 있습니다). 이 페이지 상단의 애니메이션에서 보듯이 스니펫을 삽입한 후 모든 코드를 선택해 Shift ⇑+Enter ↵를 사용하여 대화형으로 실행할 수 있습니다.

예제

이 페이지 상단의 애니메이션에서 보듯이 ultra.example-yolo-predict 스니펫을 사용해 다음 코드 예제를 삽입할 수 있습니다. 삽입 후 구성할 수 있는 유일한 옵션은 모델 스케일이며, 다음 중 하나를 선택할 수 있습니다: n, s, m, l 또는 x.

from ultralytics import ASSETS, YOLO

model = YOLO("yolo26n.pt", task="detect")
results = model(source=ASSETS / "bus.jpg")

for result in results:
    print(result.boxes.data)
    # result.show()  # 각 결과 이미지를 보려면 주석을 해제하세요

개발 속도 높이기#

ultra.examples을 제외한 스니펫의 목적은 Ultralytics를 사용하는 개발을 더 쉽고 빠르게 만드는 것입니다. 여러 프로젝트에서 공통으로 사용할 수 있는 코드 블록은 모델의 predict 메서드가 반환한 Results 목록을 순회하는 것입니다. ultra.result-loop 스니펫은 이 작업에 도움이 됩니다.

예제

ultra.result-loop을 사용하면 다음 기본 코드(주석 포함)가 삽입됩니다.

# reference https://docs.ultralytics.com/modes/predict#working-with-results

for result in results:
    result.boxes.data  # torch.Tensor array

하지만 Ultralytics는 다양한 작업을 지원하므로 추론 결과 작업 시 액세스하려는 다른 Results 속성이 있을 수 있습니다. 이때 스니펫 필드가 유용합니다.


VS Code YOLO results visualization options
boxes 필드로 탭 이동하면 필요에 따라 다른 속성을 선택할 수 있는 드롭다운 메뉴가 표시됩니다.

키워드 인수#

다양한 Ultralytics 작업과 모드에는 💯개가 넘는 키워드 인수가 있습니다! 기억해야 할 내용이 많아 인수가 save_frame인지 save_frames인지 헷갈리기 쉽습니다(참고로 정답은 save_frames입니다). 이때 ultra.kwargs 스니펫이 도움이 됩니다!

예제

모든 추론 인수를 포함한 predict 메서드를 삽입하려면 ultra.kwargs-predict를 사용하세요. 그러면 다음 코드(주석 포함)가 삽입됩니다.

model.predict(
    source=src,  # (str, optional) 이미지 또는 동영상의 소스 디렉터리
    imgsz=640,  # (int | list) predict용 입력 이미지 크기(int 또는 list[h,w])
    conf=0.25,  # (float) 최소 신뢰도 임계값
    iou=0.7,  # (float) NMS의 교집합 대비 합집합(IoU) 임계값
    vid_stride=1,  # (int) 동영상 프레임 레이트 스트라이드
    stream_buffer=False,  # (bool) 입력 프레임을 대기열에 버퍼링(True)하거나 가장 최근 프레임만 유지(False)
    visualize=False,  # (bool) 클래스 활성화 히트맵 저장
    augment=False,  # (bool) 예측 소스에 이미지 증강 적용
    agnostic_nms=False,  # (bool) 클래스 비종속 NMS
    classes=None,  # (int | list[int], optional) 클래스로 결과 필터링(예: classes=0 또는 classes=[0,2,3])
    retina_masks=False,  # (bool) 고해상도 세그멘테이션 마스크 사용
    embed=None,  # (list[int], optional) 지정된 레이어에서 특징 벡터/임베딩 반환
    show=False,  # (bool) 환경에서 허용하는 경우 예측된 이미지와 동영상 표시
    save=True,  # (bool) 예측 결과 저장
    save_frames=False,  # (bool) 예측된 개별 동영상 프레임 저장
    save_txt=False,  # (bool) 결과를 .txt 파일로 저장
    save_conf=False,  # (bool) 신뢰도 점수와 함께 결과 저장
    save_crop=False,  # (bool) 결과가 포함된 잘라낸 이미지 저장
    stream=False,  # (bool) 생성기를 반환하여 메모리 사용량을 줄인 상태로 긴 동영상 또는 많은 이미지 처리
    verbose=True,  # (bool) 터미널에서 상세 추론 로그 활성화/비활성화
)

이 스니펫에는 모든 키워드 인수의 필드뿐 아니라 코드에서 다른 변수를 사용한 경우를 위한 model 및 src 필드도 있습니다. 키워드 인수가 포함된 각 줄에는 참고할 수 있도록 간단한 설명이 포함되어 있습니다.

모든 코드 스니펫#

사용할 수 있는 스니펫을 확인하는 가장 좋은 방법은 확장 프로그램을 다운로드하고 설치한 후 직접 사용해 보는 것입니다! 먼저 목록을 살펴보고 싶다면 저장소 또는 VS Code 마켓플레이스의 확장 프로그램 페이지를 방문해 사용 가능한 모든 스니펫의 표를 확인하세요.

결론#

VS Code용 Ultralytics-Snippets 확장 프로그램은 데이터 과학자와 머신러닝 엔지니어가 Ultralytics YOLO를 사용해 컴퓨터 비전 애플리케이션을 더욱 효율적으로 개발할 수 있도록 지원합니다. 미리 작성된 코드 스니펫과 유용한 예제를 제공하여 가장 중요한 일인 혁신적인 솔루션 개발에 집중할 수 있도록 돕습니다. VS Code 마켓플레이스의 확장 프로그램 페이지를 방문해 리뷰를 남기고 의견을 공유해 주세요. ⭐

자주 묻는 질문#

  • Ultralytics-Snippets 저장소의 Issues를 통해 새 스니펫을 요청할 수 있습니다.

  • 100% 무료입니다!

  • VS Code에서는 Ctrl+Space 키 조합을 사용하여 미리보기 창에 표시되는 정보를 더 많이 또는 적게 볼 수 있습니다. 코드 스니펫 접두사를 입력할 때 스니펫 미리보기가 표시되지 않는다면 이 키 조합을 사용하여 미리보기를 다시 표시할 수 있습니다.

  • VS Code를 사용하면서 Ultralytics-snippets 확장 프로그램 설치를 요청하는 메시지가 표시되기 시작했으며 더 이상 이 메시지를 보고 싶지 않다면, 메시지를 비활성화하는 방법은 두 가지입니다.

    1. Ultralytics-snippets를 설치하면 메시지가 더 이상 표시되지 않습니다 😆!

    2. 확장 프로그램을 설치하지 않고 yolo settings vscode_msg=False을 사용하여 메시지가 표시되지 않도록 설정할 수 있습니다. 익숙하지 않다면 Ultralytics 설정 페이지에서 자세히 알아보세요.

  • Ultralytics-snippets 저장소를 방문하여 Issue 또는 Pull Request를 열어주세요!

  • 다른 VS Code 확장 프로그램과 마찬가지로 VS Code의 Extensions 메뉴에서 제거할 수 있습니다. 메뉴에서 Ultralytics-snippets 확장 프로그램을 찾아 톱니바퀴 아이콘(⚙)을 클릭한 다음 "Uninstall"을 클릭하여 확장 프로그램을 제거하세요.


    VS Code extension menu

댓글