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在全球开发者中非常受欢迎,并且在2021、2022、2023和2024年的Stack Overflow开发者调查中排名第一。由于VS Code的高度可定制性、内置功能、广泛的兼容性和可扩展性,难怪这么多开发者在使用它。鉴于其在更广泛的开发者社区和Ultralytics Discord、Discourse、Reddit和GitHub社区中的流行,构建一个VS Code扩展来帮助简化您的工作流程并提高生产力是有意义的。
想告诉我们您使用什么来开发代码吗?前往我们的Discourse 社区投票并告诉我们!在那里,您还可以查看我们最喜欢的计算机视觉、机器学习、AI和开发者[梗图],甚至发布您最喜欢的!
安装扩展
Note
任何允许安装VS Code扩展的代码环境_应该_与Ultralytics-snippets扩展兼容。在发布扩展后,发现neovim可以与VS Code扩展兼容。要了解更多信息,请参阅[Ultralytics-Snippets仓库][repo]中的Readme的[neovim
安装部分][neovim install]。
在VS Code中安装
-
导航到VS Code中的扩展菜单或使用快捷键Ctrl+Shift ⇑+x,搜索Ultralytics-snippets。
-
点击安装按钮。
从VS Code扩展市场安装
-
访问VS Code扩展市场并搜索Ultralytics-snippets,或直接前往[VS Code市场中的扩展页面]。
-
点击安装按钮,并允许您的浏览器启动VS Code会话。
-
按照提示安装扩展。
Visual Studio Code扩展市场页面,适用于Ultralytics-Snippets
使用Ultralytics-Snippets扩展
-
🧠 智能代码补全: 通过为Ultralytics API量身定制的高级代码补全建议,更快更准确地编写代码。
-
⌛ 提高开发速度: 通过消除重复的编码任务并利用预构建的代码块片段,节省时间。
-
🔬 改进代码质量: 通过智能代码补全编写更干净、更一致且无错误的代码。
- 💎 简化工作流程: 通过自动化常见任务,专注于项目的核心逻辑。
概述
该扩展仅在 语言模式 配置为 Python 🐍 时运行。这是为了避免在处理其他文件类型时插入代码片段。所有代码片段的前缀都以 ultra
开头,安装扩展后在编辑器中输入 ultra
,将显示可用的代码片段列表。您还可以使用 Ctrl+Shift ⇑+p 打开 VS Code 的 命令面板 并运行命令 Snippets: Insert Snippet
。
代码片段字段
许多代码片段具有带有默认占位符值或名称的“字段”。例如,[predict] 方法的输出可以保存到一个名为 r
、results
、detections
、preds
或开发者选择的任何其他名称的 Python 变量中,这就是为什么代码片段包含“字段”。在插入代码片段后使用键盘上的 Tab ⇥,您的光标将快速在字段之间移动。一旦选择了某个字段,输入新的变量名称将更改该实例,但也会更改代码片段中该变量的所有其他实例!
插入代码片段后,将 model
重命名为 world_model
会更新所有实例。按下 Tab ⇥ 移动到下一个字段,该字段会打开一个下拉菜单并允许选择模型比例,移动到下一个字段会提供另一个下拉菜单以选择 world
或 worldv2
模型变体。
代码片段补全
更短的快捷方式
不需要输入代码片段的完整前缀,甚至不需要从代码片段的开头开始输入。请参见下图中的示例。
代码片段的命名尽可能具有描述性,但这意味着可能需要输入很多内容,如果目标是加快操作速度,这将是适得其反的。幸运的是,VS Code 允许用户输入 ultra.example-yolo-predict
、example-yolo-predict
、yolo-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](yolo 、sam 、rtdetr 等)的代码块,包括下拉配置选项。 |
结果 | ultra.result |
处理 [推理结果] 时的常见操作的代码块。 |
实用工具 | ultra.util |
提供对 Ultralytics 包中内置的常见实用工具的快速访问,了解更多信息请访问 [简单实用工具页面]。 |
ultra.examples 代码片段对于任何想要学习如何开始使用 Ultralytics YOLO 基础操作的人来说都非常有用。示例代码片段旨在插入后立即运行(有些还带有下拉选项)。例如,在本页顶部的动画中展示了这一点,插入代码片段后,所有代码都会被选中并通过 Shift ⇑+Enter ↵ 进行交互式运行。 |
Example
就像本页顶部的动画所示,您可以使用 ultra.example-yolo-predict
代码片段插入以下代码示例。插入后,唯一可配置的选项是模型规模,可以是以下任意一个:n
、s
、m
、l
或 x
。
加速开发
除了 ultra.examples
之外的代码片段旨在使在使用 Ultralytics 时开发更加轻松快捷。许多项目中常用的一个代码块是迭代从模型 [predict] 方法返回的 Results
列表。ultra.result-loop
代码片段可以帮助实现这一点。
Example
使用 ultra.result-loop
将插入以下默认代码(包括注释)。
然而,由于 Ultralytics 支持众多 任务,在 处理推理结果 时,您可能希望访问其他 Results
属性,这就是 代码片段字段 的强大之处。
一旦切换到 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) 启用/禁用终端中的详细推理日志记录
)
此代码片段包含所有关键字参数的字段,但如果您在代码中使用了不同的变量,也包括 model
和 src
。每行包含关键字参数的代码都附有简要描述以供参考。
所有代码片段
了解有哪些代码片段的最佳方式是下载并安装扩展程序并亲自尝试!如果您好奇并想事先查看列表,可以访问 [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 扩展的消息,并且不想再看到该消息,有两种方法可以禁用此消息。
-
安装 Ultralytics-snippets,消息将不再显示 😆!
-
您可以使用
yolo settings vscode_msg False
禁用消息显示,而无需安装扩展。如果您不熟悉,可以在 快速入门 页面上了解更多关于 Ultralytics 设置 的信息。
我有一个新的 Ultralytics 代码片段的想法,如何添加?
访问 Ultralytics-snippets 仓库 并打开一个 Issue 或 Pull Request!
如何卸载 Ultralytics-Snippets 扩展?
像其他任何 VS Code 扩展一样,您可以通过导航到 VS Code 中的扩展菜单来卸载它。在菜单中找到 Ultralytics-snippets 扩展,点击齿轮图标(⚙),然后点击“卸载”以移除扩展。