htr_demo / helper /examples /create_examples.py
Gabriel's picture
added new dataset
417b347
raw
history blame
No virus
1.82 kB
import datasets
_CITATION = """\
@InProceedings{huggingface:dataset,
title = {Small htr examples images},
author={Gabriel Borg},
year={2023}
}
"""
_DESCRIPTION = """\
Demo dataset for the htr demo.
"""
_HOMEPAGE = "https://huggingface.co/datasets/Riksarkivet/test_images_demo"
_LICENSE = ""
_REPO = "https://huggingface.co/datasets/Riksarkivet/test_images_demo"
class ExampleImages(datasets.GeneratorBasedBuilder):
"""Small sample of image-text pairs"""
def _info(self):
return datasets.DatasetInfo(
description=_DESCRIPTION,
features=datasets.Features(
{
"text": datasets.Value("string"),
"image": datasets.Image(),
}
),
supervised_keys=None,
homepage=_HOMEPAGE,
citation=_CITATION,
)
def _split_generators(self, dl_manager):
images_archive = dl_manager.download(f"{_REPO}/resolve/main/images.tar.gz")
metadata_path = dl_manager.download(f"{_REPO}/resolve/main/images.txt")
image_iters = dl_manager.iter_archive(images_archive)
return [
datasets.SplitGenerator(
name=datasets.Split.TRAIN, gen_kwargs={"images": image_iters, "metadata_path": metadata_path}
),
]
def _generate_examples(self, images, metadata_path):
"""Generate images and text."""
with open(metadata_path, encoding="utf-8") as f:
metadata_list = f.read().split("\n")
for idx, (img_obj, meta_txt) in enumerate(zip(images, metadata_list)):
filepath, image = img_obj
yield idx, {
"image": {"path": filepath, "bytes": image.read()},
"text": meta_txt,
}
if __name__ == "__main__":
pass