近年来,开源工具取得了重大进展,满足了许多与端到端平台服务相同的需求。
从模型体系结构开发到数据集管理,再到模型训练和部署,它们都非常有用。通过充分挖掘,你可以找到一个能够支持数据和模型生命周期大部分部分的开源工具。
工具之间的紧密集成是实现近乎无缝工作流的最佳方式。本文深入探讨了模型原型和训练框架PyTorch Lightning Flash与数据集可视化和模型分析工具FiftyOne之间的新集成。
Lightning Flash是一个建立在PyTorch Lighting之上的新框架,它提供了一系列任务,用于快速原型制作、基线、微调,以及通过深度学习解决商业和科学问题。
尽管Flash很容易学习,无论你拥有多少深度学习经验,你都可以使用Lightning和PyTorch修改现有任务,以找到适合你的抽象级别。为了进一步加快速度,Flash代码具有可扩展性,内置支持任何硬件上的分布式训练和推理。
Flash使训练你的第一个模型变得非常容易,但要继续改进它,你需要了解你的模型的性能以及如何改进它。
FiftyOne是由Voxel51开发的用于构建高质量数据集和计算机视觉模型的开源工具。它提供了用于优化数据集分析管道的构建块,允许你亲自操作数据,包括可视化复杂标签、评估模型、探索感兴趣的场景、识别故障模式、查找注释错误、管理训练数据集,等等。
使用Flash+FiftyOne,你可以加载以下所有计算机视觉任务的数据集、训练模型和分析结果:
图像分类
图像目标检测
图像语义分割
视频分类
嵌入可视化
概述
Flash和FiftyOne之间的紧密集成允许你执行端到端的工作流程,即加载数据集、在数据集上训练模型以及可视化/分析其预测,所有这些都只需几个简单的代码块
将FiftyOne数据集加载到Flash中
虽然使用FiftyOne开发数据集一直很容易,但与PyTorch Lightning Flash的集成现在允许你将这些数据集直接加载到Flash和训练任务中,从而使其正常工作。
from flash.image import ImageClassificationData
import fiftyone as fo
train_dataset = fo.Dataset.from_dir(
"/path/to/train",
fo.types.ImageClassificationDirectoryTree,
label_field="ground_truth",
)
val_dataset = fo.Dataset.from_dir(
"/path/to/val",