跳转至内容

Ultralytics VS Code 扩展



观看: 如何使用 Ultralytics Visual Studio Code 扩展 | 即用型代码片段 | Ultralytics YOLO 🎉

特性与优势

✅ 您是一位数据科学家或机器学习工程师,正在使用Ultralytics构建计算机视觉应用程序吗?

✅ 您是否厌恶重复编写相同的代码块?

✅ 您是否总是忘记exportpredicttraintrackval 方法的参数或默认值?

✅ 想开始使用Ultralytics,希望有一种更容易的方式来引用或运行代码示例?

✅ 希望在使用Ultralytics时加快开发周期吗?

如果您使用 Visual Studio Code 并且对上述任何问题回答“是”,那么 Ultralytics-snippets VS Code 扩展程序将为您提供帮助!请继续阅读以了解有关该扩展程序的更多信息、如何安装以及如何使用它。


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

灵感来自 Ultralytics 社区

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

为什么选择 VS Code?

Visual Studio Code 在全球开发者中极受欢迎,并在 Stack Overflow 开发者调查中于 2021202220232024 年被评为最受欢迎的编辑器。 鉴于 VS Code 的高度自定义性、内置功能、广泛的兼容性和可扩展性,如此多的开发者使用它也就不足为奇了。 考虑到它在更广泛的开发者社区以及 Ultralytics DiscordDiscourseRedditGitHub 社区中的受欢迎程度,构建一个 VS Code 扩展程序来帮助简化您的工作流程并提高您的工作效率是很有意义的。

想让我们知道您使用什么来开发代码吗?请访问我们的 Discourse 社区投票,让我们知道!当您在那里时,也许可以查看我们最喜欢的一些计算机视觉、机器学习、AI 和开发者表情包,甚至发布您最喜欢的!

安装扩展

注意

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

在 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 在安装扩展后,您的编辑器中将显示一个可能使用的代码片段列表。您也可以打开 VS Code 命令面板 使用 Ctrl+平移 ⇑+p 并运行命令 Snippets: Insert Snippet.

代码片段字段

许多代码段都有带有默认占位符值或名称的“字段”。例如,来自 预测 方法可以保存到名为的 python 变量中 r, results, detections, preds 或者开发者选择的任何其他方式,这就是为什么代码段包含“字段”。使用 Tab ⇥ 在插入代码片段后,如果您按下键盘上的Tab键,光标会在字段之间快速移动。一旦选中一个字段,输入新的变量名将更改该实例,以及该变量在代码片段中的所有其他实例!


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

代码片段补全

甚至更的快捷方式

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

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


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

代码片段类别

这些是 Ultralytics-snippets 扩展当前可用的代码片段类别。将来会添加更多,因此请务必检查更新并启用该扩展的自动更新。如果您认为缺少任何内容,您还可以请求添加其他代码片段

类别 起始前缀 描述
实例 ultra.examples 示例代码,用于帮助学习或开始使用 Ultralytics。示例是文档页面中的代码的副本或与之类似。
Kwargs(关键字参数) ultra.kwargs 通过为 traintrackpredictval 方法添加包含所有关键字参数和默认值的代码片段,从而加快开发速度。
导入 ultra.imports 用于快速导入常用 Ultralytics 对象的代码片段。
模型 ultra.yolo 插入用于初始化各种功能的代码块 模型 (yolo, sam, rtdetr,等等),包括下拉配置选项。
结果 ultra.result 处理推理结果时,常见操作的代码块。
实用工具 ultra.util 快速访问 Ultralytics 包中内置的常用工具,请在简单实用工具上了解更多信息。

通过示例学习

字段 ultra.examples 对于任何希望学习如何开始使用 Ultralytics YOLO 的基础知识的人来说,代码片段都非常有用。示例代码片段旨在插入后运行(有些还具有下拉选项)。此示例显示在动画中 最高 在本页中,插入代码片段后,所有代码都会被选中并使用以下方式进行交互式运行 平移 ⇑+输入 ↵.

示例

就像动画显示的那样 最高 在本页中,您可以使用代码片段 ultra.example-yolo-predict 要插入以下代码示例。插入后,唯一可配置的选项是模型比例,可以是以下任何一种: n, s, m, lx.

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()  # uncomment to view each result image

加速开发

除了以下代码片段之外,其他代码片段的目标是 ultra.examples 是为了在使用 Ultralytics 时,使开发更容易和更快。一个常见的代码块,可以在许多项目中使用的,是迭代列表。 Results 从使用模型返回 预测 method。这个 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 您可能希望访问的属性,即 代码片段字段 将会很强大。


结果循环选项
跳转到 boxes 字段,会出现一个下拉菜单,允许根据需要选择另一个属性。

关键词参数

所有各种 Ultralytics 都有超过 💯 个关键字参数 任务模式!需要记住的内容太多了,如果参数是,很容易忘记 save_framesave_frames (这绝对是 save_frames 顺便说一句)。这是 ultra.kwargs 代码片段可以提供帮助!

示例

要插入 预测 method,包括所有 推理参数,使用 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[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 如果您在代码中使用了不同的变量。 在包含关键字参数的每一行上,都包含一个简要说明以供参考。

所有代码片段

了解有哪些代码片段可用的最佳方式是下载并安装扩展,然后亲自尝试!如果您想提前查看列表,可以访问 repoVS Code marketplace 上的扩展页面,以查看所有可用代码片段的表格。

结论

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

常见问题

如何请求新的代码片段?

可以使用 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 存储库 并打开 Issue 或 Pull Request!

如何卸载 Ultralytics-Snippets 扩展?

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


VS Code 扩展菜单



📅 创建于 1 年前 ✏️ 更新于 4 个月前

评论