【发布时间】:2022-02-13 18:48:16
【问题描述】:
我有一个 lmdb 文件,其值包含二进制字符串格式的 jpeg 图像数据。我想将所有图像保存到一个文件夹并创建一个 PySpark DataFrame 来进行我的分析。我这样做是因为我想使用这些数据在 TensorFlow 上训练一个 Mask RCNN 模型。
我有两个问题:
- 这是个好主意吗? (我正在考虑这样做,因为这样我就可以进行分布式训练和推理。)
- 我该怎么做?
我可以实现这一点的一种方法:将图像一张一张地保存到一个文件夹中,然后将该文件夹作为 PySpark Image DataFrame 读取。
import io
from PIL import Image
for key, value in lmdb_data:
with io.BytesIO(value ) as f:
image = Image.open(f)
# The image is of class JpegImageFile
image.load()
image.save(f"/tmp/lmdb_images/{key}.{image.format.lower()}")
df = spark.read.format("image").load("/tmp/lmdb_images/")
df.display()
还有其他更高效/优雅的方法吗?
【问题讨论】:
标签: python pyspark python-imaging-library databricks lmdb