如何从pyspark数据帧中提取图像到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(...)方法可能是值得研究的。

最新更新