Supervisely项目v6.73.288版本发布:优化图节点与项目下载性能
Supervisely是一个专注于计算机视觉领域的开源平台,提供了数据标注、模型训练和部署等全流程解决方案。本次发布的v6.73.288版本主要针对平台核心功能进行了多项性能优化和错误处理改进,特别是在图节点初始化和项目下载流程方面做出了重要改进。
API请求优化
新版本在API层引入了一个重要改进——添加了self._instance_version
属性。这一改动显著减少了不必要的API请求次数,通过缓存实例版本信息,避免了重复查询。这种优化对于频繁调用API的场景特别有价值,能够降低服务器负载并提高客户端响应速度。
图节点处理增强
在GraphNodes类的初始化过程中,新增了对空节点的检查机制。当遇到空节点时,系统会立即抛出明确的错误信息,而不是在后续处理中产生难以追踪的问题。这种防御性编程的做法大大提高了代码的健壮性。
在将图节点转换为边界框(bbox)时,如果遇到空节点情况,系统现在会发出明确的警告信息。这使得开发人员能够更容易地识别和处理潜在的数据问题,而不是默默地忽略这些问题。
几何图形处理改进
Rectangle类新增了from_geometries_list
方法,该方法包含了对空几何图形列表的检查。这一改进防止了在处理空列表时可能出现的意外行为,确保了方法的可靠性。
项目下载流程重构
本次版本对项目下载功能进行了重大重构,移除了原有的workers和queue功能,代之以更高效的run_tasks_with_delay
内部方法。这一新方法通过创建任务并延迟启动它们的方式,实现了更精细的并发控制。
在项目下载的具体实现中,优化了批处理模式下的标注创建过程,减少了不必要的开销。同时,添加了详细的调试日志,特别是在任务执行结束时显示信号量状态,这为排查并发问题提供了更多线索。
错误处理与日志增强
在整个代码库中,新增了大量改进的错误消息和日志记录。例如在标注创建过程中,现在会提供更详细的错误信息,帮助开发人员快速定位问题。这些改进显著提升了系统的可维护性和调试效率。
总结
Supervisely v6.73.288版本通过多项优化措施,提升了平台的稳定性和性能。特别是对图节点处理和项目下载流程的改进,使得这些核心功能更加健壮和高效。新增的错误处理和日志机制也为开发人员提供了更好的调试体验。这些改进共同构成了一个更可靠、更易用的计算机视觉平台版本。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考