Ultralytics VS Code 拡張機能



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

機能と利点

✅ Ultralytics を使用してコンピュータビジョンアプリケーションを構築しているデータサイエンティストや machine learning エンジニアですか?

✅ 同じコードブロックを繰り返し書くことにうんざりしていませんか?

exportpredicttraintrack、または 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 is extremely popular with developers worldwide and has ranked most popular by the Stack Overflow Developer Survey in 2021, 2022, 2023, and 2024. Due to VS Code's high level of customization, built-in features, broad compatibility, and extensibility, it's no surprise that so many developers are using it. Given the popularity in the wider developer community and within the Ultralytics Discord, Discourse, Reddit, and GitHub Communities, it made sense to build a VS Code extension to help streamline your workflow and boost your productivity.

あなたがコード開発に何を使用しているか教えていただけますか? Discourse の コミュニティアンケート にアクセスして教えてください!ついでに、私たちが気に入っているコンピュータビジョン、機械学習、AI、および開発者向けの ミーム をチェックしたり、あなたのお気に入りを投稿したりしてみてください!

拡張機能のインストール

注意

Any code environment that will allow for installing VS Code extensions should be compatible with the Ultralytics-snippets extension. After publishing the extension, it was discovered that neovim can be made compatible with VS Code extensions. To learn more see the neovim install section of the Readme in the Ultralytics-Snippets repository.

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
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets

Ultralytics-Snippets 拡張機能の使用

  • 🧠 インテリジェントなコード補完: Ultralytics API に合わせた高度なコード補完提案により、より速く、より正確にコードを書くことができます。

  • 開発速度の向上: 反復的なコーディング作業を排除し、ビルド済みのコードスニペットを活用することで時間を節約します。

  • 🔬 コード品質の向上: インテリジェントなコード補完により、よりクリーンで一貫性があり、エラーのないコードを書くことができます。

  • 💎 ワークフローの合理化: 一般的なタスクを自動化することで、プロジェクトのコアロジックに集中できます。

概要

この拡張機能は、言語モード が Python 🐍 に設定されている場合にのみ動作します。これは、他のファイルタイプで作業しているときにスニペットが挿入されるのを防ぐためです。すべてのスニペットには ultra で始まるプレフィックスが付いており、拡張機能インストール後にエディタで ultra と入力するだけで、使用可能なスニペットのリストが表示されます。また、Ctrl+Shift ⇑+p を使用して VS Code の コマンドパレット を開き、Snippets: Insert Snippet コマンドを実行することもできます。

コードスニペットのフィールド

多くのスニペットには、デフォルトのプレースホルダー値や名前を持つ「フィールド」があります。例えば、predict メソッドの出力は rresultsdetectionspreds など、開発者が選択した 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-predictexample-yolo-predictyolo-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 拡張機能で使用可能なスニペットのカテゴリです。今後さらに追加される予定ですので、アップデートを確認し、拡張機能の自動更新を有効にしてください。不足していると思われるスニペットがあれば、追加のリクエスト を行うこともできます。

カテゴリ開始プレフィックス説明
使用例ultra.examplesUltralytics を学習したり始めたりするためのサンプルコード。例はドキュメントページからのコードのコピーまたは類似のものです。
キーワード引数 (Kwargs)ultra.kwargsすべてのキーワード引数とデフォルト値を含む traintrackpredict、および val メソッドのスニペットを追加することで開発をスピードアップします。
インポートultra.imports一般的な Ultralytics オブジェクトを素早くインポートするためのスニペット。
モデルultra.yoloドロップダウン設定オプションを含む、様々な モデル (yolosamrtdetr など) を初期化するためのコードブロックを挿入します。
Resultsultra.result推論結果を扱う 時の一般的な操作のためのコードブロック。
ユーティリティultra.utilUltralytics パッケージに組み込まれている一般的なユーティリティへの迅速なアクセスを提供します。これらについては Simple Utilities ページ で詳細を確認してください。

例を使った学習

ultra.examples スニペットは、Ultralytics YOLO の基本操作方法を学習したい人にとって非常に役立ちます。サンプルスニペットは挿入後に実行されることを想定しています(ドロップダウンオプションを持つものもあります)。その例がこのページの 上部 のアニメーションに示されています。スニペット挿入後、すべてのコードが選択され、Shift ⇑+Enter ↵ を使用して対話的に実行されます。

このページの 上部 のアニメーションのように、ultra.example-yolo-predict スニペットを使用して以下のコード例を挿入できます。挿入後、設定可能な唯一のオプションはモデルのスケールで、nsml、または 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

開発の加速

The aim for snippets other than the ultra.examples are for making development easier and quicker when working with Ultralytics. A common code block to be used in many projects, is to iterate the list of Results returned from using the model predict method. The ultra.result-loop snippet can help with this.

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
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.

キーワード引数

すべての様々な Ultralytics タスクモード に対して100以上のキーワード引数があります!覚えるのは大変ですし、引数が save_framesave_frames か(ちなみに、正解は save_frames です)を忘れてしまいがちです。ここで ultra.kwargs スニペットがお役に立ちます!

To insert the predict method, including all inference arguments, use ultra.kwargs-predict, which will insert the following code (including comments).

model.predict(
    source=src,  # (str, optional) source directory for images or videos
    imgsz=640,  # (int | list) input images size as int or list[w,h] 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) visualize model features
    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 のフィールドも含まれています。各キーワード引数を含む行には、参照用として簡単な説明が含まれています。

すべてのコードスニペット

利用可能なスニペットを知る最良の方法は、拡張機能をダウンロードしてインストールし、試してみることです!興味があり、事前にリストを確認したい場合は、リポジトリ または VS Code マーケットプレイスの拡張機能ページ にアクセスして、すべての利用可能なスニペットの表を確認してください。

結論

VS Code 用の Ultralytics-Snippets 拡張機能は、データサイエンティストや機械学習エンジニアが Ultralytics YOLO を使用して コンピュータビジョン アプリケーションをより効率的に構築できるように設計されています。ビルド済みのコードスニペットと役立つ例を提供することで、お客様が最も重要なこと、つまり革新的なソリューションの作成に集中できるようにサポートします。VS Code マーケットプレイスの拡張機能ページ にアクセスしてレビューを残し、フィードバックを共有してください。⭐

FAQ

新しいスニペットをリクエストするにはどうすればよいですか?

新しいスニペットは、Ultralytics-Snippets リポジトリ の Issues を使用してリクエストできます。

Ultralytics 拡張機能の価格はいくらですか?

100% 無料です!

コードスニペットのプレビューが表示されないのはなぜですか?

VS Code はキーの組み合わせ Ctrl+Space を使用して、プレビューウィンドウの情報を表示/非表示にします。コードスニペットのプレフィックスを入力してもスニペットプレビューが表示されない場合は、このキーの組み合わせを使用するとプレビューが復元されるはずです。

Ultralytics の拡張機能の推奨事項を無効にするにはどうすればよいですか?

VS Code を使用していて、Ultralytics-snippets 拡張機能のインストールを促すメッセージが表示され始め、今後そのメッセージを表示したくない場合は、2つの方法でこのメッセージを無効にできます。

  1. Ultralytics-snippets をインストールすれば、メッセージは表示されなくなります 😆!

  2. You can be using yolo settings vscode_msg False to disable the message from showing without having to install the extension. You can learn more about the Ultralytics Settings on the quickstart page if you're unfamiliar.

新しい Ultralytics コードスニペットのアイデアがあるのですが、どうすれば追加できますか?

Ultralytics-snippets リポジトリ にアクセスして、Issue または Pull Request を開いてください!

Ultralytics-Snippets 拡張機能をアンインストールするにはどうすればよいですか?

他の VS Code 拡張機能と同様に、VS Code の拡張機能メニューに移動してアンインストールできます。メニューから Ultralytics-snippets 拡張機能を見つけ、歯車アイコン (⚙) をクリックしてから「Uninstall」をクリックして拡張機能を削除してください。


VS Code extension menu

コメント