适用于图像应用程序的参考解决方案
了解如何在许多实际映像应用程序共享的通用配置中使用 pandas UDF、PyTorch 和 TensorFlow 从参考解决方案笔记本进行分布式图像模型推理。 此配置假设你在对象存储中存储了多张图像,并且有选择性地持续接收新图像。
图像模型推理工作流
假设有多个经过训练的深度学习 (DL) 模型用于图像分类和对象检测(例如,MobileNetV2 用于检测用户上传的照片中的人类对象,以帮助保护隐私),并且你希望将这些 DL 模型应用于存储的图像。
你可以重新训练模型并更新以前计算得出的预测。 然而,加载许多图像和应用 DL 模型需要大量的 I/O 和大量的计算。 幸运的是,推理工作负载是易并行的,理论上可以轻松地进行分布。 本指南将指导你完成一个包含两个主要阶段的实用解决方案:
- 使用自动加载程序将 ETL 图像添加到 Delta 表中
- 使用 pandas UDF 执行分布式推理
使用自动加载程序将 ETL 图像添加到 Delta 表中
对于图像应用程序(包括训练和推理任务),Databricks 建议使用自动加载程序将 ETL 图像添加到 Delta 表中。 自动加载程序可帮助管理数据,并自动处理不断到达的新图像。
ETL 图像数据集到 Delta 表笔记本中
使用 pandas UDF 执行分布式推理
以下笔记本使用 PyTorch 和 TensorFlow tf.Keras 演示参考解决方案。
通过 Pytorch 和 pandas UDF 笔记本进行的分布式推理
通过 Keras 和 pandas UDF 笔记本进行的分布式推理
限制:图像文件大小
对于大型图像文件(平均图像大小大于 100 MB),Databricks 建议仅使用 Delta 表来管理元数据(文件名列表),并在需要时使用其路径从对象存储加载图像。