YOLO Vision 2026:

Ultralytics VS Code 확장 프로그램#



Watch: How to use Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉

기능 및 이점#

✅ Ultralytics를 사용하여 컴퓨터 비전 애플리케이션을 구축하는 데이터 사이언티스트 또는 machine learning 엔지니어이신가요?

✅ 동일한 코드 블록을 반복해서 작성하는 것이 지겨우신가요?

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

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

✅ Ultralytics로 작업할 때 개발 주기를 단축하고 싶으신가요?

Visual Studio Code를 사용하면서 위 질문 중 하나라도 '예'라고 답하셨다면, VS Code용 Ultralytics-snippets 확장 프로그램이 도움이 될 것입니다! 이 확장 프로그램에 대한 자세한 내용과 설치 및 사용 방법을 계속 읽어보시기 바랍니다.


Snippet Prediction Preview
Run example code using Ultralytics YOLO in under 20 seconds! 🚀

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

이 확장 프로그램을 구축하게 된 영감은 Ultralytics 커뮤니티에서 얻었습니다. 유사한 주제와 예제에 대한 커뮤니티의 질문들이 이 프로젝트의 개발을 촉진했습니다. 또한, 많은 Ultralytics 팀원들도 VS Code를 사용하여 자신의 작업을 가속화하고 있습니다 ⚡.

왜 VS Code인가요?#

Visual Studio Code는 전 세계 개발자들 사이에서 매우 인기가 높으며, Stack Overflow 개발자 설문조사에서 2021년, 2022년, 2023년, 2024년에 가장 인기 있는 도구로 선정되었습니다. VS Code는 높은 수준의 사용자 지정, 내장 기능, 광범위한 호환성 및 확장성을 제공하므로 수많은 개발자가 사용하는 것은 당연한 결과입니다. 더 넓은 개발자 커뮤니티뿐만 아니라 Ultralytics Discord, Discourse, Reddit, GitHub 커뮤니티에서의 인기를 고려할 때, 워크플로를 간소화하고 생산성을 높이는 데 도움이 되는 VS Code 확장을 만드는 것은 당연한 선택이었습니다.

코드 개발 시 어떤 도구를 사용하시는지 알려주고 싶으신가요? Discourse community poll을 방문하여 알려주세요! 방문하신 김에 저희가 엄선한 컴퓨터 비전, 머신러닝, AI 및 개발자 memes를 구경하시거나 가장 좋아하는 밈을 공유해 보세요!

확장 프로그램 설치하기#

참고

VS Code 확장 프로그램 설치를 허용하는 모든 코드 환경은 Ultralytics-snippets 확장 프로그램과 호환되어야 합니다. 확장 프로그램 배포 후 neovim을(를) VS Code 확장 프로그램과 호환되도록 만들 수 있음이 발견되었습니다. 자세한 내용은 Ultralytics-Snippets 저장소의 Readme 중 neovim 설치 섹션을 참조하세요.

VS Code에 설치하기#

  1. Extensions menu in VS Code로 이동하거나 단축키 Ctrl+Shift ⇑+x를 사용하여 Ultralytics-snippets를 검색하세요.

  2. Install 버튼을 클릭하십시오.


VS Code extension menu

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

  1. VS Code Extension Marketplace를 방문하여 Ultralytics-snippets를 검색하거나 extension page on the VS Code marketplace로 바로 이동하세요.

  2. Install 버튼을 클릭하고 브라우저가 VS Code 세션을 시작하도록 허용하십시오.

  3. 메시지에 따라 확장 프로그램을 설치하십시오.


VS Code marketplace extension install
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets

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

  • 🧠 지능형 코드 완성: Ultralytics API에 맞춰진 고급 코드 완성 제안을 통해 코드를 더 빠르고 정확하게 작성하십시오.

  • 개발 속도 향상: 반복적인 코딩 작업을 제거하고 미리 구축된 코드 블록 스니펫을 활용하여 시간을 절약하십시오.

  • 🔬 향상된 코드 품질: 지능형 코드 완성을 통해 더 깔끔하고 일관되며 오류 없는 코드를 작성하십시오.

  • 💎 워크플로우 간소화: 공통 작업을 자동화하여 프로젝트의 핵심 로직에 집중하십시오.

개요#

이 확장은 Language Mode가 Python 🐍으로 설정된 경우에만 작동합니다. 이는 다른 파일 타입에서 작업할 때 스니펫이 삽입되는 것을 방지하기 위함입니다. 모든 스니펫은 ultra(으)로 시작하는 접두사를 가지며, 확장을 설치한 후 편집기에서 단순히 ultra를 입력하면 사용할 수 있는 스니펫 목록이 표시됩니다. 또한 Ctrl+Shift ⇑+p를 사용하여 VS Code Command Palette를 열고 Snippets: Insert Snippet 명령을 실행할 수도 있습니다.

코드 스니펫 필드#

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


Multi-update field and options
After inserting snippet, renaming model as world_model updates all instances. Pressing Tab ⇥ moves to the next field, which opens a dropdown menu and allows for selection of a model scale, and moving to the next field provides another dropdown to choose either world or worldv2 model variant.

코드 스니펫 완성#

더 _짧은_ 단축키

스니펫의 전체 접두사를 입력하거나 스니펫의 시작 부분부터 입력을 시작할 필요는 없습니다. 아래 이미지의 예시를 참조하십시오.

스니펫은 가능한 한 가장 설명적인 방식으로 이름이 지정되어 있지만, 이는 입력할 내용이 많아질 수 있음을 의미하며 더 빠르게 작업하려는 목적에는 역효과가 될 수 있습니다. 다행히도 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
Typing ex-yolo-p will still arrive at the correct snippet.

스니펫 카테고리#

다음은 Ultralytics-snippets 확장 프로그램에서 현재 사용할 수 있는 스니펫 카테고리입니다. 향후 더 많은 기능이 추가될 예정이므로 업데이트를 확인하시고 확장 프로그램의 자동 업데이트를 활성화해 두세요. 누락되었다고 생각되는 추가 스니펫이 있는 경우 request additional snippets를 통해 요청할 수도 있습니다.

카테고리시작 접두사설명
예시ultra.examples학습을 돕거나 Ultralytics를 시작하기 위한 예제 코드입니다. 예제는 문서 페이지의 코드를 복사하거나 유사하게 구성되었습니다.
Kwargsultra.kwargs모든 키워드 인수와 기본값이 포함된 train, track, predict, val 메서드용 스니펫을 추가하여 개발 속도를 높이세요.
Importsultra.imports공통 Ultralytics 객체를 빠르게 가져오기 위한 스니펫입니다.
Modelsultra.yolo드롭다운 설정 옵션을 포함하여 다양한 models(yolo, sam, rtdetr 등)을 초기화하기 위한 코드 블록을 삽입합니다.
결과ultra.resultworking with inference results 시 공통 작업에 대한 코드 블록입니다.
유틸리티ultra.utilUltralytics 패키지에 내장된 공통 유틸리티에 빠르게 액세스할 수 있으며, 이에 대한 자세한 내용은 Simple Utilities page에서 확인할 수 있습니다.

예제를 통한 학습#

ultra.examples 스니펫은 Ultralytics YOLO 작업의 기초를 시작하는 방법을 배우고자 하는 모든 사용자에게 매우 유용합니다. 예제 스니펫은 삽입되면 바로 실행되도록 만들어져 있습니다(일부 옵션에는 드롭다운 옵션도 포함되어 있음). 이에 대한 예시는 이 페이지 top의 애니메이션에 나와 있으며, 스니펫이 삽입된 후 모든 코드가 선택되고 Shift ⇑+Enter ↵를 사용하여 대화형으로 실행됩니다.

예시

이 페이지 top의 애니메이션에서 볼 수 있듯이, 스니펫 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()  # uncomment to view each result image

개발 가속화#

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는 수많은 tasks를 지원하므로, working with inference results 시 액세스하고 싶은 다른 Results 속성이 있을 수 있으며, 이때 snippet fields가 강력한 기능을 발휘합니다.


VS Code YOLO results visualization options
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.

키워드 인수#

모든 다양한 Ultralytics tasksmodes에 대해 100개가 넘는 키워드 인수가 존재합니다! 기억해야 할 양이 너무 많아서 인수가 save_frame인지 save_frames인지 헷갈리기 쉽습니다(참고로 확실히 save_frames입니다). 바로 이때 ultra.kwargs 스니펫이 도움이 될 수 있습니다!

예시

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

model.predict(
    source=src,  # (str, optional) source directory for images or videos
    imgsz=640,  # (int | list) input images size as int or list[h,w] for predict
    conf=0.25,  # (float) minimum confidence threshold
    iou=0.7,  # (float) intersection over union (IoU) threshold for NMS
    vid_stride=1,  # (int) video frame-rate stride
    stream_buffer=False,  # (bool) buffer incoming frames in a queue (True) or only keep the most recent frame (False)
    visualize=False,  # (bool) save class activation heatmaps
    augment=False,  # (bool) apply image augmentation to prediction sources
    agnostic_nms=False,  # (bool) class-agnostic NMS
    classes=None,  # (int | list[int], optional) filter results by class, i.e. classes=0, or classes=[0,2,3]
    retina_masks=False,  # (bool) use high-resolution segmentation masks
    embed=None,  # (list[int], optional) return feature vectors/embeddings from given layers
    show=False,  # (bool) show predicted images and videos if environment allows
    save=True,  # (bool) save prediction results
    save_frames=False,  # (bool) save predicted individual video frames
    save_txt=False,  # (bool) save results as .txt file
    save_conf=False,  # (bool) save results with confidence scores
    save_crop=False,  # (bool) save cropped images with results
    stream=False,  # (bool) for processing long videos or numerous images with reduced memory usage by returning a generator
    verbose=True,  # (bool) enable/disable verbose inference logging in the terminal
)

이 스니펫에는 모든 키워드 인수를 위한 필드가 포함되어 있으며, 코드에서 다른 변수를 사용했을 경우를 대비해 modelsrc을 위한 필드도 포함되어 있습니다. 키워드 인수가 포함된 각 줄에는 참고를 위한 간단한 설명이 포함되어 있습니다.

모든 코드 스니펫#

사용 가능한 스니펫을 확인하는 가장 좋은 방법은 확장을 다운로드 및 설치하여 직접 사용해 보는 것입니다! 미리 목록을 확인하고 싶다면 repoextension page on the VS Code marketplace를 방문하여 사용 가능한 모든 스니펫 테이블을 볼 수 있습니다.

결론#

VS Code용 Ultralytics-Snippets 확장은 데이터 사이언티스트와 머신러닝 엔지니어가 Ultralytics YOLO를 사용하여 computer vision 애플리케이션을 더 효율적으로 구축할 수 있도록 지원하기 위해 설계되었습니다. 미리 빌드된 코드 스니펫과 유용한 예제를 제공함으로써, 가장 중요한 작업인 혁신적인 솔루션 생성에 집중할 수 있도록 돕습니다. extension page on the VS Code marketplace를 방문하여 리뷰를 남기고 피드백을 공유해 주세요. ⭐

FAQ#

새로운 스니펫을 요청하려면 어떻게 해야 하나요?#

새로운 스니펫은 Ultralytics-Snippets repo의 Issues를 사용하여 요청할 수 있습니다.

Ultralytics 확장 프로그램의 비용은 얼마인가요?#

100% 무료입니다!

코드 스니펫 미리보기가 보이지 않는 이유는 무엇인가요?#

VS Code는 Ctrl+Space 키 조합을 사용하여 미리보기 창에서 정보를 표시하거나 숨깁니다. 코드 스니펫 접두사를 입력할 때 스니펫 미리보기가 보이지 않는다면, 이 키 조합을 사용하여 미리보기를 복구하십시오.

Ultralytics에서 확장 프로그램 추천을 비활성화하려면 어떻게 해야 하나요?#

VS Code를 사용하면서 Ultralytics-snippets 확장 프로그램을 설치하라는 메시지가 나타나기 시작했고, 더 이상 이 메시지를 보고 싶지 않다면 두 가지 방법으로 메시지를 비활성화할 수 있습니다.

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

  2. 확장 프로그램을 설치하지 않고도 메시지가 표시되지 않도록 yolo settings vscode_msg=False을(를) 사용할 수 있습니다. 잘 모르시겠다면 빠른 시작 페이지에서 Ultralytics 설정에 대해 자세히 알아보세요.

새로운 Ultralytics 코드 스니펫에 대한 아이디어가 있는데, 어떻게 추가할 수 있나요?#

Ultralytics-snippets repo를 방문하여 Issue나 Pull Request를 열어주세요!

Ultralytics-Snippets 확장 프로그램을 제거하려면 어떻게 해야 하나요?#

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


VS Code extension menu

댓글