numpy - 如何从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(...)
方法可能需要研究。
推荐阅读
- node.js - 为什么我得到 existsSync 不是函数错误?节点.js
- python - 升级 AutoCAD 损坏的 Python 脚本
- python - 如何在 Python 中计算图像的经验累积分布(ecdf)?
- flutter - 显示两个涟漪效应的墨水瓶
- concurrency - 使用互斥锁的 while 循环参数的生命周期是多少?
- javascript - LocalStorage 没有被保存(Vanilla JS)?
- python - 将参数传递给回调
- javascript - 无法在我的 JavaScript 绘图板中更改颜色
- laravel - Laravel 将多个参数传递给控制器
- excel - 在 VBA 中行/列交叉点中的值为“是”时,将表中的行颜色变为绿色