ray.data.datasource.FilenameProvider#
- class ray.data.datasource.FilenameProvider[源代码]#
基类:
object
在编写
Dataset
时生成文件名。使用此类来自定义在写入数据集时使用的文件名。
一些方法将每一行写入单独的文件,而其他方法则将每个块写入单独的文件。例如,
ray.data.Dataset.write_images()
写入单独的行,而ray.data.Dataset.write_parquet()
写入数据块。有关块的更多信息,请参阅 数据内部。如果你将每一行写入单独的文件,请实现
get_filename_for_row()
。否则,请实现get_filename_for_block()
。示例
这个片段展示了如何在书面文件中编码标签。例如,如果
"cat"
是一个标签,你可能会写一个名为cat_000000_000000_000000.png
的文件。import ray from ray.data.datasource import FilenameProvider class ImageFilenameProvider(FilenameProvider): def __init__(self, file_format: str): self.file_format = file_format def get_filename_for_row(self, row, task_index, block_index, row_index): return ( f"{row['label']}_{task_index:06}_{block_index:06}" f"_{row_index:06}.{self.file_format}" ) ds = ray.data.read_parquet("s3://anonymous@ray-example-data/images.parquet") ds.write_images( "/tmp/results", column="image", filename_provider=ImageFilenameProvider("png") )
PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。
方法
为一段数据生成文件名。
为一行生成一个文件名。