如何从pyspark数据框中提取图像到numpy

How to extract images from pyspark dataframe to numpy

我正在使用 Azure Databricks 并通过以下方式读取图像:

image_df = spark.read.format("image").load("/FileStore/shared_uploads/images/")

如何从PySpark的DataFrame中提取图像到Numpy数组中? 当我使用 Jupyter Notebook 在本地计算机上工作时,我使用的是 tensorflow.keras.preprocessing.image img_to_array 和 load_img 方法。

您可以 运行 .collect() 在数据帧上以列表的形式收集从执行程序到驱动程序的所有内容。

除非您绝对确定驱动程序上有足够的内存来容纳整个数据集,否则不要这样做。

您可能需要考虑使用生成器来批量加载图像:

from tensorflow.keras.preprocessing.image import ImageDataGenerator, load_img, img_to_array

datagen = ImageDataGenerator(validation_split=...)

那么 datagen.flow_from_directory(...) 方法可能值得研究。