适用于图像应用程序的参考解决方案

了解如何在许多实际映像应用程序共享的通用配置中使用 pandas UDF、PyTorch 和 TensorFlow 从参考解决方案笔记本进行分布式图像模型推理。 此配置假设你在对象存储中存储了多张图像,并且有选择性地持续接收新图像。

图像模型推理工作流

假设有多个经过训练的深度学习 (DL) 模型用于图像分类和对象检测(例如,MobileNetV2 用于检测用户上传的照片中的人类对象,以帮助保护隐私),并且你希望将这些 DL 模型应用于存储的图像。

你可以重新训练模型并更新以前计算得出的预测。 然而,加载许多图像和应用 DL 模型需要大量的 I/O 和大量的计算。 幸运的是,推理工作负载是易并行的,理论上可以轻松地进行分布。 本指南将指导你完成一个包含两个主要阶段的实用解决方案:

  1. 使用自动加载程序将 ETL 图像添加到 Delta 表中
  2. 使用 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 表来管理元数据(文件名列表),并在需要时使用其路径从对象存储加载图像。