Skip to content

Ultralytics VS Code扩展


代码片段预测预览
在20秒内使用Ultralytics YOLO运行示例代码!🚀

功能与优势

✅ 您是使用Ultralytics构建计算机视觉应用的数据科学家或机器学习工程师吗?

✅ 您是否讨厌反复编写相同的代码块?

✅ 您是否总是忘记[export]、[predict]、[train]、[track]或[val]方法的参数或默认值?

✅ 想要开始使用Ultralytics,并希望有一种更_简单_的方式来参考或运行代码示例吗?

✅ 想要在使用Ultralytics时加快开发周期吗?

如果您使用Visual Studio Code并回答了上述任何一个问题为“是”,那么Ultralytics-snippets扩展将为您提供帮助!继续阅读以了解更多关于扩展的信息,如何安装和使用它。

灵感来自Ultralytics社区

构建此扩展的灵感来自于Ultralytics社区。社区中关于类似主题和示例的问题推动了此项目的开发。此外,由于Ultralytics团队中的一些成员也使用VS Code,我们也将其作为加速我们工作的工具⚡。

为什么选择VS Code?

Visual Studio Code在全球开发者中非常受欢迎,并且在2021202220232024年的Stack Overflow开发者调查中排名第一。由于VS Code的高度可定制性、内置功能、广泛的兼容性和可扩展性,难怪这么多开发者在使用它。鉴于其在更广泛的开发者社区和Ultralytics DiscordDiscourseRedditGitHub社区中的流行,构建一个VS Code扩展来帮助简化您的工作流程并提高生产力是有意义的。

想告诉我们您使用什么来开发代码吗?前往我们的Discourse 社区投票并告诉我们!在那里,您还可以查看我们最喜欢的计算机视觉、机器学习、AI和开发者[梗图],甚至发布您最喜欢的!

安装扩展

Note

任何允许安装VS Code扩展的代码环境_应该_与Ultralytics-snippets扩展兼容。在发布扩展后,发现neovim可以与VS Code扩展兼容。要了解更多信息,请参阅[Ultralytics-Snippets仓库][repo]中的Readme的[neovim安装部分][neovim install]。

在VS Code中安装

  1. 导航到VS Code中的扩展菜单或使用快捷键Ctrl+Shift ⇑+x,搜索Ultralytics-snippets。

  2. 点击安装按钮。


VS Code扩展菜单

从VS Code扩展市场安装

  1. 访问VS Code扩展市场并搜索Ultralytics-snippets,或直接前往[VS Code市场中的扩展页面]。

  2. 点击安装按钮,并允许您的浏览器启动VS Code会话。

  3. 按照提示安装扩展。


VS Code市场扩展安装
Visual Studio Code扩展市场页面,适用于Ultralytics-Snippets

使用Ultralytics-Snippets扩展

  • 🧠 智能代码补全: 通过为Ultralytics API量身定制的高级代码补全建议,更快更准确地编写代码。

  • 提高开发速度: 通过消除重复的编码任务并利用预构建的代码块片段,节省时间。

  • 🔬 改进代码质量: 通过智能代码补全编写更干净、更一致且无错误的代码。

  • 💎 简化工作流程: 通过自动化常见任务,专注于项目的核心逻辑。

概述

该扩展仅在 语言模式 配置为 Python 🐍 时运行。这是为了避免在处理其他文件类型时插入代码片段。所有代码片段的前缀都以 ultra 开头,安装扩展后在编辑器中输入 ultra,将显示可用的代码片段列表。您还可以使用 Ctrl+Shift ⇑+p 打开 VS Code 的 命令面板 并运行命令 Snippets: Insert Snippet

代码片段字段

许多代码片段具有带有默认占位符值或名称的“字段”。例如,[predict] 方法的输出可以保存到一个名为 rresultsdetectionspreds 或开发者选择的任何其他名称的 Python 变量中,这就是为什么代码片段包含“字段”。在插入代码片段后使用键盘上的 Tab ⇥,您的光标将快速在字段之间移动。一旦选择了某个字段,输入新的变量名称将更改该实例,但也会更改代码片段中该变量的所有其他实例!


多重更新字段和选项
插入代码片段后,将 model 重命名为 world_model 会更新所有实例。按下 Tab ⇥ 移动到下一个字段,该字段会打开一个下拉菜单并允许选择模型比例,移动到下一个字段会提供另一个下拉菜单以选择 worldworldv2 模型变体。

代码片段补全

更短的快捷方式

不需要输入代码片段的完整前缀,甚至不需要从代码片段的开头开始输入。请参见下图中的示例。

代码片段的命名尽可能具有描述性,但这意味着可能需要输入很多内容,如果目标是加快操作速度,这将是适得其反的。幸运的是,VS Code 允许用户输入 ultra.example-yolo-predictexample-yolo-predictyolo-predict,甚至是 ex-yolo-p,仍然可以到达预期的代码片段选项!如果预期的代码片段实际上是 ultra.example-yolo-predict-kwords,那么只需使用键盘箭头 突出显示所需的代码片段并按下 Enter ↵Tab ⇥ 即可插入正确的代码块。


不完整代码片段示例
输入 ex-yolo-p 仍然会到达正确的代码片段。

代码片段类别

以下是 Ultralytics-snippets 扩展当前可用的代码片段类别。未来将添加更多类别,因此请确保检查更新并启用扩展的自动更新。如果您觉得缺少某些代码片段,也可以 请求添加新的代码片段

类别 起始前缀 描述
示例 ultra.examples 帮助学习或开始使用 Ultralytics 的示例代码。示例是文档页面中代码的副本或类似代码。
关键字参数 ultra.kwargs 通过添加带有所有关键字参数和默认值的 [train]、[track]、[predict] 和 [val] 方法的代码片段来加快开发速度。
导入 ultra.imports 快速导入常见的 Ultralytics 对象的代码片段。
模型 ultra.yolo 插入用于初始化各种 [models](yolosamrtdetr 等)的代码块,包括下拉配置选项。
结果 ultra.result 处理 [推理结果] 时的常见操作的代码块。
实用工具 ultra.util 提供对 Ultralytics 包中内置的常见实用工具的快速访问,了解更多信息请访问 [简单实用工具页面]。
ultra.examples 代码片段对于任何想要学习如何开始使用 Ultralytics YOLO 基础操作的人来说都非常有用。示例代码片段旨在插入后立即运行(有些还带有下拉选项)。例如,在本页顶部的动画中展示了这一点,插入代码片段后,所有代码都会被选中并通过 Shift ⇑+Enter ↵ 进行交互式运行。

Example

就像本页顶部的动画所示,您可以使用 ultra.example-yolo-predict 代码片段插入以下代码示例。插入后,唯一可配置的选项是模型规模,可以是以下任意一个:nsmlx

from ultralytics import ASSETS, YOLO

model = YOLO("yolo11n.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 代码片段可以帮助实现这一点。

Example

使用 ultra.result-loop 将插入以下默认代码(包括注释)。

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

for result in results:
    result.boxes.data  # torch.Tensor 数组

然而,由于 Ultralytics 支持众多 任务,在 处理推理结果 时,您可能希望访问其他 Results 属性,这就是 代码片段字段 的强大之处。


Results Loop Options
一旦切换到 boxes 字段,将出现一个下拉菜单,允许根据需要选择另一个属性。

关键字参数

Ultralytics 的 任务模式 有超过 💯 个关键字参数!要记住这么多参数并不容易,而且很容易忘记参数是 save_frame 还是 save_frames(顺便说一下,肯定是 save_frames)。这就是 ultra.kwargs 代码片段的用武之地!

Example

要插入 [predict] 方法,包括所有 推理参数,请使用 ultra.kwargs-predict,这将插入以下代码(包括注释)。

model.predict(
    source=src,  # (str, optional) 图像或视频的源目录
    imgsz=640,  # (int | list) 输入图像大小为 int 或 list[w,h] 用于预测
    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) 启用/禁用终端中的详细推理日志记录
)

此代码片段包含所有关键字参数的字段,但如果您在代码中使用了不同的变量,也包括 modelsrc。每行包含关键字参数的代码都附有简要描述以供参考。

所有代码片段

了解有哪些代码片段的最佳方式是下载并安装扩展程序并亲自尝试!如果您好奇并想事先查看列表,可以访问 [repo] 或 VS Code 市场中的扩展页面 查看所有可用代码片段的表格。

结论

Ultralytics-Snippets 扩展是为 VS Code 设计的,旨在帮助数据科学家和机器学习工程师更高效地使用 Ultralytics YOLO 构建计算机视觉应用。通过提供预构建的代码片段和有用的示例,我们帮助您专注于最重要的事情:创造创新的解决方案。请访问 VS Code 市场中的扩展页面并留下评论来分享您的反馈。⭐

常见问题

如何请求新的代码片段?

可以通过在 Ultralytics-Snippets 仓库的 Issues 中请求新的代码片段。

Ultralytics-Extension 的费用是多少?

它是 100% 免费的!

为什么我看不到代码片段预览?

VS Code 使用快捷键 Ctrl+Space 在预览窗口中显示更多/更少的信息。如果您在输入代码片段前缀时没有看到片段预览,使用此快捷键应该可以恢复预览。

如何在 Ultralytics 中禁用扩展推荐?

如果您使用 VS Code 并且开始看到提示您安装 Ultralytics-snippets 扩展的消息,并且不想再看到该消息,有两种方法可以禁用此消息。

  1. 安装 Ultralytics-snippets,消息将不再显示 😆!

  2. 您可以使用 yolo settings vscode_msg False 禁用消息显示,而无需安装扩展。如果您不熟悉,可以在 快速入门 页面上了解更多关于 Ultralytics 设置 的信息。

我有一个新的 Ultralytics 代码片段的想法,如何添加?

访问 Ultralytics-snippets 仓库 并打开一个 Issue 或 Pull Request!

如何卸载 Ultralytics-Snippets 扩展?

像其他任何 VS Code 扩展一样,您可以通过导航到 VS Code 中的扩展菜单来卸载它。在菜单中找到 Ultralytics-snippets 扩展,点击齿轮图标(⚙),然后点击“卸载”以移除扩展。


VS Code 扩展菜单


📅 Created 1 month ago ✏️ Updated 10 days ago

Comments