当前位置: 首页 > news >正文

在VSCode中使用Ultralytics扩展

概述

Visual Studio Code深受全球开发人员的欢迎,并在2021 年、2022 年、2023 年和2024 年的 Stack Overflow 开发人员调查中被评为最受欢迎的软件。由于 VS Code 具有高度的定制性、内置功能、广泛的兼容性和可扩展性,因此有如此多的开发人员使用它也就不足为奇了。

VS Code 的Ultralytics-snippets 扩展能够使开发者显著加快开发Ultralytics应用。

安装Ultralytics-snippets扩展

打开VSCode扩展,搜索Ultralytics,选择Ultralytics-snippets,点击“安装”即可。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

使用Ultralytics-snippets扩展

在开发Python程序时,使用Ultralytics-snippets扩展,具有以下优势:

  • **智能代码自动补全:**利用为Ultralytics API 量身定制的高级代码完成建议,更快、更准确地编写代码。
  • **提高开发速度:**通过消除重复编码任务和利用预置代码块片段来节省时间。
  • **提高代码质量:**利用智能代码自动补全功能,编写更简洁、更一致、无差错的代码。
  • **简化工作流程:**通过自动化常见任务,专注于项目的核心逻辑。

使用代码片段

片段的前缀是 ultra,键入 ultra 将显示一个可能使用的片段列表。还可以使用 Ctrl+Shift+P 打开 VS Code 命令面板 并运行命令 Snippets: Insert Snippet.

在这里插入图片描述

代码片段字段

许多片段的 "字段 "都有默认占位符值或名称。例如,predict方法的输出可以保存到 r, results, detections, preds 或开发人员选择的任何其他python变量,这就是为什么片段(snippets)包括 “字段”。在插入代码片段之后,使用 Tab ⇥,光标就会在字段之间快速移动。选中一个字段后,键入一个新变量名将改变该变量的实例,同时也会改变代码片段中该变量的所有其他实例。

代码片段补全

这些片段尽可能以描述性的方式命名,但这意味着要输入的内容可能会很多,如果目的是为了更快的移动,这将适得其反。 幸运的是,VS Code 可以让用户键入 ultra.example-yolo-predict, example-yolo-predict, yolo-predict甚至 ex-yolo-p 并仍能达到预期的片段选项!如果预定的片段实际上是 ultra.example-yolo-predict,然后使用键盘箭头 ↑ 或 ↓ 突出显示所需的片段,然后按 输入Enter ↵ 或 Tab ⇥ 将插入正确的代码块。
在这里插入图片描述

选择第一行后,自动填入了以下代码:

在这里插入图片描述

片段类别

这些是Ultralytics-snippets 扩展目前可用的片段类别。以后还会添加更多类别,请务必检查更新并启用扩展的自动更新功能。

片段格式:

{PREFIX}.{ROOT}*-{DESCRIPTOR}
  • {PREFIX}ultra
  • {ROOT} 例如 importresults. 至少一个root,也可能有多个,例如 result-boxes.
  • {DESCRIPTOR} 与片段功能相关联,所有单词使用 - 连接.
类别前缀说明
Examplesultra.examples帮助学习或开始使用Ultralytics 的示例代码。示例是文档页面代码的副本或类似代码。
Kwargs`ultra.kwargs通过为train、track、predict 和val方法添加包含所有关键字参数和默认值的代码段,加快开发速度。
Importsultra.imports快速导入通用Ultralytics 对象的片段。
Modelsultra.yolo插入代码块,用于初始化各种 模型 (yolo, sam, rtdetr等),包括下拉式配置选项。
Resultsultra.result用于处理推理结果时常用操作的代码块。
Utilitiesultra.util可快速访问Ultralytics 软件包内置的常用实用程序,更多信息请访问简单实用程序页面。

使用Examples学习

ultra.examples 对于希望学习如何开始使用Ultralytics YOLO 基础知识的人来说非常有用。示例片段插入后即可运行(有些片段还有下拉选项)。插入代码段后,所有代码都会被选中,并通过使用 Shift ⇑+Enter ↵交互运行.

例如,使用片段 ultra.example-yolo-predict 插入以下代码示例。插入后,唯一可配置的选项是模型比例,可以是以下任何一种: n, s, m, lx.

from ultralytics import ASSETS, YOLOmodel = 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 时让开发工作变得更加简单快捷。在许多项目中,一个常用的代码块是遍历模型predict方法返回的Results 列表。 ultra.result-loop 代码段可以帮助解决这个问题。

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

# reference https://docs.ultralytics.com/modes/predict/#working-with-resultsfor result in results:result.boxes.data  # torch.Tensor array

不过,由于Ultralytics 支持众多tasks, 当处理推理结果时,有其他您可能希望访问的Results属性,这就是代码段字段的强大之处。

在这里插入图片描述

关键字参数

有超过100个关键字参数,可用于各种Ultralytics 任务 和 模式! 要记住的东西太多了,例如如果参数是 save_framesave_frames (应该是 save_frames)就很容易忘记。这就是 ultra.kwargs 片段可以提供的帮助!

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

model.predict(source=src,  # (str, optional) source directory for images or videosimgsz=640,  # (int | list) input images size as int or list[w,h] for predictconf=0.25,  # (float) minimum confidence thresholdiou=0.7,  # (float) intersection over union (IoU) threshold for NMSvid_stride=1,  # (int) video frame-rate stridestream_buffer=False,  # (bool) buffer incoming frames in a queue (True) or only keep the most recent frame (False)visualize=False,  # (bool) visualize model featuresaugment=False,  # (bool) apply image augmentation to prediction sourcesagnostic_nms=False,  # (bool) class-agnostic NMSclasses=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 masksembed=None,  # (list[int], optional) return feature vectors/embeddings from given layersshow=False,  # (bool) show predicted images and videos if environment allowssave=True,  # (bool) save prediction resultssave_frames=False,  # (bool) save predicted individual video framessave_txt=False,  # (bool) save results as .txt filesave_conf=False,  # (bool) save results with confidence scoressave_crop=False,  # (bool) save cropped images with resultsstream=False,  # (bool) for processing long videos or numerous images with reduced memory usage by returning a generatorverbose=True,  # (bool) enable/disable verbose inference logging in the terminal
)

结论

Ultralytics-Snippets 扩展用于 VS Code,旨在帮助数据科学家和机器学习工程师更高效地使用Ultralytics YOLO 构建计算机视觉应用程序。通过提供预构建的代码片段和有用的示例,开发人员可以专注于创建创新的解决方案。

http://www.xdnf.cn/news/930205.html

相关文章:

  • 探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
  • RabbitMQ work模型
  • 基于SpringBoot利用死信队列解决RabbitMQ业务队列故障重试无效场景问题
  • RabbitMQ 的高可用性
  • 比较数据迁移后MySQL数据库和PostgreSQL数据仓库中的表
  • [蓝桥杯 2024 国 B] 蚂蚁开会
  • 分享今天做的力扣SQL题
  • 2025.6.8
  • 《从函数模板到类模板:OP泛型编程进化论》
  • C++信息学竞赛中常用函数的一般用法
  • C++ OpenCV 学习路线图
  • YooAsset 2.3.9版本 示例教程运行
  • el-input,金额千分符自动转换
  • Unity中的transform.up
  • 【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
  • Java求职者面试:微服务技术与源码原理深度解析
  • SpringSecurity+vue通用权限系统2
  • SOC-ESP32S3部分:36-适配自己的板卡
  • HTML前端开发:JavaScript的条分支语句if,Switch
  • HTML前端开发:JavaScript 常用事件详解
  • 4. TypeScript 类型推断与类型组合
  • 分析 java 的 Map<String,Map<String, List<Map<String,Integer>>>>
  • Go语言并发模型与模式:Worker Pool 模式
  • 详解鸿蒙Next仓颉开发语言中的动画
  • 勒让德多项式
  • 投屏技术深度解析:从原理到成功率优化实战·优雅草卓伊凡
  • 高级数据结构与算法期末考试速成记录2
  • exec进程替换函数族
  • AOSP CachedAppOptimizer中的冻结和内存压缩功能
  • 11.无重复字符的最长子串