重要
您正在查看 NeMo 2.0 文档。此版本引入了 API 的重大更改和一个新库,NeMo Run。我们目前正在将 NeMo 1.0 中的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅NeMo 24.07 文档。
数据集#
数据管道概述#
注意
每个用户都有责任检查数据集的内容,审查适用的许可证,并确定它是否适合其预期用途。用户应在将数据放在他们的机器上之前,审查与数据集关联的任何适用链接。
对于所有 text2img 多模态模型,我们提供了一个通用管道,如下详述,以下载和准备数据集。该管道适用于托管在 HuggingFace 数据存储库上的任何多模态数据集,其中数据存储为一个或多个 parquet 文件。该管道将数据集处理成 WebDataset 格式,由大小相等的 tar 文件组成,用于高效训练。
6 个子阶段如下所示。
download_parquet:由文本(标题)和图像 URL 组成的 Parquet 文件从 HuggingFace 存储库下载。
download_images:图像从各自的 URL 下载,并且与标题一起打包到 tar 文件中,遵循 Webdataset 格式。
reorganize_tar:(可选)由于多种原因(例如网络不稳定或图像移除),某些图像可能无法下载,导致 tar 文件不均匀,每个文件包含不同数量的示例。如果您使用的训练采样器不支持不均匀的 tar 文件,您需要重组 tar 文件的内容,以便每个文件包含相等数量的图像-文本对。
precache_encodings:(可选)如果您正在训练一个带有冻结编码器(例如 Stable Diffusion)的模型,您可以选择在此子阶段预缓存(预计算)图像和/或文本编码(嵌入)。预缓存这些编码可以显着提高训练吞吐量。
generate_wdinfo:(可选)wdinfo.pkl 文件,用于存储数据集分片的信息,将被生成。
根据您的具体情况,并非所有子阶段都需要一次性运行。例如,对于未托管在 HuggingFace 上的 parquet 数据集或那些格式不是 parquet 的数据集,子阶段 2-5 可用于处理本地下载的数据集。对于已在本地下载的 webdatasets,子阶段 4-5 可用于预缓存编码以减少训练时间。对于动态编码图像和文本的模型,只需要运行子阶段 1-3。
每个子阶段的配置说明在 download_multimodal.yaml 中每个字段旁边的注释中提供
准备用于训练 Text2Img 模型的示例数据集#
有关如何准备用于训练 Text2Img 模型的训练数据集的详细信息,请参考数据集教程 <http://TODOURL>`_。