from daft.datatype import DataType
from daft.io import IOConfig, S3Config
endpoint = "https://tos-s3-cn-beijing.ivolces.com"
endpoint_url = endpoint,
region_name="cn-beijing",
force_virtual_addressing=True,
IMAGE_DIR = "s3://your_bucket_name/image_original/"
OUTPUT_DATASET_PATH = "s3://your_bucket_name/new_converted_imagenet.lance"
def build_daft_dataframe(image_dir: str) -> daft.DataFrame:
pattern = f"{image_dir.rstrip('/')}/*.JPEG"
df = daft.from_glob_path(pattern, io_config=io_config)
df = df.with_column("image", df["path"].url.download(io_config=io_config))
df = df.with_column("image", col("image").cast(DataType.binary()))
df = df.select(df["path"], df["image"])
df = build_daft_dataframe(IMAGE_DIR)
df.write_lance(OUTPUT_DATASET_PATH, io_config=io_config, mode="overwrite")
if __name__ == "__main__":