Link to this sectionUltralytics VS Code 拡張機能#
Watch: How to use Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉
Link to this section機能とメリット#
✅ あなたは、Ultralytics を使用してコンピュータビジョンアプリケーションを構築しているデータサイエンティストまたは機械学習エンジニアですか?
✅ 同じコードブロックを繰り返し書くことにうんざりしていませんか?
✅ export、predict、train、track、またはvalメソッドの引数やデフォルト値を常に忘れていませんか?
✅ Ultralytics を使い始めたいけれど、コード例を参照したり実行したりするためのより簡単な方法があればよいと思っていませんか?
✅ Ultralytics を使用する際、開発サイクルをスピードアップさせたいと思っていませんか?
もしあなたが Visual Studio Code を使用していて、上記に1つでも「はい」と答えたなら、VS Code 用の Ultralytics-snippets 拡張機能がお役に立ちます!この拡張機能の詳細、インストール方法、および使用方法について読み進めてください。
Run example code using Ultralytics YOLO in under 20 seconds! 🚀
Link to this sectionUltralytics コミュニティから着想を得ました#
この拡張機能を構築する着想は、Ultralytics コミュニティから得られました。コミュニティからの類似のトピックや例に関する質問が、このプロジェクトの開発を後押ししました。さらに、Ultralytics チームのメンバーの多くが、自身の業務を加速させるために VS Code を使用しています ⚡。
Link to this sectionなぜ VS Code なのか?#
Visual Studio Code は世界中の開発者に非常に人気があり、Stack Overflow 開発者調査の2021年、2022年、2023年、および2024年において最も人気のある IDE にランクインしています。VS Code の高度なカスタマイズ性、組み込み機能、幅広い互換性、および拡張性により、非常に多くの開発者が使用しているのも不思議ではありません。より広い開発者コミュニティや、Ultralytics の Discord、Discourse、Reddit、GitHub コミュニティでの人気を考慮すると、ワークフローを合理化し生産性を向上させるために VS Code 拡張機能を構築することは理にかなっていました。
コード開発に何を使用しているか教えていただけますか?私たちの Discourse コミュニティ投票ページにアクセスして、ぜひ教えてください!また、そこにアクセスしたついでに、私たちが選ぶコンピュータビジョン、機械学習、AI、および開発者向けのミームをチェックしたり、お気に入りを投稿したりしてみてください!
Link to this section拡張機能のインストール#
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.
Link to this sectionVS Code へのインストール#
-
VS Code の拡張機能メニューに移動するか、ショートカット Ctrl+Shift ⇑+x を使用して、Ultralytics-snippets を検索します。
-
Install ボタンをクリックします。
Link to this sectionVS Code 拡張機能マーケットプレイスからのインストール#
-
VS Code 拡張機能マーケットプレイスにアクセスして Ultralytics-snippets を検索するか、VS Code マーケットプレイスの拡張機能ページに直接アクセスしてください。
-
Install ボタンをクリックし、ブラウザから VS Code セッションを起動することを許可します。
-
指示に従って拡張機能をインストールします。
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets
Link to this sectionUltralytics-Snippets 拡張機能の使用#
-
🧠 インテリジェントなコード補完: Ultralytics API に合わせて最適化された高度なコード補完の提案により、より速く、より正確にコードを書くことができます。
-
⌛ 開発速度の向上: 反復的なコーディングタスクを排除し、事前に構築されたコードブロックのスニペットを活用することで、時間を節約できます。
-
🔬 コード品質の向上: インテリジェントなコード補完により、よりクリーンで一貫性のある、エラーのないコードを作成できます。
-
💎 ワークフローの合理化: 一般的なタスクを自動化することで、プロジェクトの中核となるロジックに集中し続けられます。
Link to this section概要#
この拡張機能は、言語モードが Python 🐍 に設定されている場合にのみ動作します。これは、他のファイルタイプで作業しているときにスニペットが挿入されるのを防ぐためです。すべてのスニペットには ultra で始まるプレフィックスが付いており、拡張機能をインストールした後にエディタで ultra と入力するだけで、使用可能なスニペットのリストが表示されます。また、Ctrl+Shift ⇑+p を使用して VS Code のコマンドパレットを開き、Snippets: Insert Snippet コマンドを実行することもできます。
Link to this sectionコードスニペットのフィールド#
多くのスニペットには、デフォルトのプレースホルダー値や名前を持つ「フィールド」があります。例えば、predict メソッドからの出力は、r、results、detections、preds、または開発者が選択するその他の名前を持つ Python 変数に保存できます。これが、スニペットに「フィールド」が含まれている理由です。スニペットが挿入された後にキーボードの Tab ⇥ を使用すると、カーソルはフィールド間を素早く移動します。フィールドが選択されたら、新しい変数名を入力すると、そのインスタンスだけでなく、そのスニペットコード内のその変数の他のすべてのインスタンスも変更されます!
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.
Link to this sectionコードスニペットの補完#
スニペットの完全なプレフィックスを入力したり、スニペットの先頭から入力し始めたりする必要はありません。下の画像で例を確認してください。
スニペットには可能な限り記述的な名前が付けられていますが、それは入力する文字数が多い可能性があることを意味しており、もし目標がより速く移動することであれば、それは非生産的です。幸いなことに、VS Code では、ultra.example-yolo-predict、example-yolo-predict、yolo-predict、あるいは ex-yolo-p と入力しても、目的のスニペットオプションに到達できます!目的のスニペットが実際には ultra.example-yolo-predict-kwords であった場合、キーボードの矢印キー ↑ または ↓ を使用して目的のスニペットをハイライトし、Enter ↵ または Tab ⇥ を押すと、正しいコードブロックが挿入されます。
Typing ex-yolo-p will still arrive at the correct snippet.
Link to this sectionスニペットカテゴリ#
これらは、Ultralytics-snippets 拡張機能で現在利用可能なスニペットカテゴリです。将来的にはさらに追加される予定ですので、アップデートを確認し、拡張機能の自動アップデートを有効にしておいてください。もし不足していると感じるものがあれば、追加のスニペットをリクエストすることも可能です。
| カテゴリ | 開始プレフィックス | 説明 |
|---|---|---|
| 例 | ultra.examples | Ultralytics を学ぶため、または使い始めるためのサンプルコード。例は、ドキュメントページのコードのコピーまたは類似のものです。 |
| Kwargs | ultra.kwargs | すべてのキーワード引数とデフォルト値を含む、train、track、predict、およびvalメソッド用のスニペットを追加することで、開発をスピードアップします。 |
| Imports | ultra.imports | 一般的な Ultralytics オブジェクトを素早くインポートするためのスニペット。 |
| Models | ultra.yolo | ドロップダウン設定オプションを含む、様々なモデル(yolo、sam、rtdetr など)を初期化するためのコードブロックを挿入します。 |
| 結果 | ultra.result | 推論結果を扱う際の一般的な操作のためのコードブロック。 |
| ユーティリティ | ultra.util | Ultralytics パッケージに組み込まれている一般的なユーティリティへの迅速なアクセスを提供します。これらについては、Simple Utilities ページで詳細を確認してください。 |
Link to this section例を用いた学習#
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() # uncomment to view each result imageLink to this section開発の加速#
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 属性が存在する可能性があり、そこでスニペットフィールドが強力になります。
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.
Link to this sectionキーワード引数#
すべての様々な Ultralytics タスクとモードには 💯 個以上のキーワード引数があります!覚えるのは大変ですし、引数が save_frame なのか save_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[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) 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
)このスニペットにはすべてのキーワード引数のためのフィールドがありますが、コード内で別の変数を使用している場合に備えて model と src のためのフィールドもあります。キーワード引数を含む各行には、参考用の簡単な説明が含まれています。
Link to this sectionすべてのコードスニペット#
利用可能なスニペットを見つける最良の方法は、拡張機能をダウンロードしてインストールし、試してみることです!事前にリストを確認したい場合は、リポジトリまたはVS Code マーケットプレイスの拡張機能ページにアクセスして、利用可能なすべてのスニペットの表を表示できます。
Link to this section結論#
VS Code 用の Ultralytics-Snippets 拡張機能は、データサイエンティストや機械学習エンジニアが Ultralytics YOLO を使用してコンピュータビジョンアプリケーションをより効率的に構築できるように設計されています。事前に構築されたコードスニペットと便利な例を提供することで、あなたが最も重要なこと、つまり革新的なソリューションの作成に集中できるようにサポートします。VS Code マーケットプレイスの拡張機能ページにアクセスし、レビューを残して、ぜひフィードバックを共有してください。 ⭐
Link to this sectionよくある質問 (FAQ)#
Link to this section新しいスニペットをリクエストするにはどうすればよいですか?#
新しいスニペットは、Ultralytics-Snippets リポジトリの Issues を使用してリクエストできます。
Link to this sectionUltralytics 拡張機能の費用はいくらですか?#
完全に無料です!
Link to this sectionコードスニペットのプレビューが表示されないのはなぜですか?#
VS Code は、プレビューウィンドウで情報を表示/非表示にするために Ctrl+Space キーの組み合わせを使用します。コードスニペットのプレフィックスを入力したときにスニペットのプレビューが表示されない場合は、このキーの組み合わせを使用するとプレビューが復元されます。
Link to this sectionUltralytics で拡張機能の推奨を無効にするにはどうすればよいですか?#
VS Code を使用していて、Ultralytics-snippets 拡張機能をインストールするように促すメッセージが表示されるようになり、そのメッセージをこれ以上表示したくない場合は、このメッセージを無効にする2つの方法があります。
-
Ultralytics-snippets をインストールすれば、メッセージは表示されなくなります 😆!
-
You can use
yolo settings vscode_msg=Falseto 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.
Link to this section新しい Ultralytics コードスニペットのアイデアがあるのですが、どうすれば追加できますか?#
Ultralytics-snippets リポジトリにアクセスし、Issue または Pull Request を開いてください!
Link to this sectionUltralytics-Snippets 拡張機能をアンインストールするにはどうすればよいですか?#
他の VS Code 拡張機能と同様に、VS Code の拡張機能メニューに移動してアンインストールできます。メニューで Ultralytics-snippets 拡張機能を見つけ、歯車アイコン (⚙) をクリックしてから「Uninstall」をクリックして拡張機能を削除します。