Buckets:
Создание набора данных для обучения
На Hub представлено множество датасетов для обучения моделей, но если вы не нашли нужный или хотите использовать собственный, вы можете создать датасет с помощью библиотеки 🤗 Datasets. Структура датасета зависит от задачи, для которой вы обучаете модель. Самая простая структура — это каталог с изображениями для задач, таких как безусловная генерация изображений. Другая возможная структура — каталог с изображениями и текстовый файл с соответствующими текстовыми описаниями для задач, таких как генерация изображений по тексту.
В этом руководстве показано два способа создания набора данных для дообучения:
- укажите папку с изображениями в аргументе
--train_data_dir - загрузите датасет в Hub и передайте идентификатор репозитория датасета в аргумент
--dataset_name
💡 Подробнее о том, как создать набор изображений для обучения, читайте в руководстве Создание набора изображений.
Предоставление набора данных в виде папки
Для безусловной генерации вы можете предоставить собственный датасет в виде папки с изображениями. Скрипт обучения использует билдер ImageFolder из 🤗 Datasets для автоматического создания датасета из папки. Структура вашего каталога должна выглядеть так:
data_dir/xxx.png
data_dir/xxy.png
data_dir/[...]/xxz.png
Передайте путь к каталогу с набором данных в аргумент --train_data_dir, после чего можно запустить обучение:
accelerate launch train_unconditional.py \
--train_data_dir <path-to-train-directory> \
<other-arguments>
Загрузите ваши данные в Hub
💡 Чтобы узнать больше о создании и загрузке набора данных в Hub, ознакомьтесь с публикацией Image search with 🤗 Datasets.
Начните с создания набора данных с помощью функции ImageFolder, которая создаёт столбец image с изображениями, закодированными в формате PIL.
Вы можете использовать параметры data_dir или data_files, чтобы указать расположение набора данных. Параметр data_files поддерживает сопоставление конкретных файлов с частями набора данных, такими как train или test:
from datasets import load_dataset
# example 1: local folder
dataset = load_dataset("imagefolder", data_dir="path_to_your_folder")
# example 2: local files (supported formats are tar, gzip, zip, xz, rar, zstd)
dataset = load_dataset("imagefolder", data_files="path_to_zip_file")
# example 3: remote files (supported formats are tar, gzip, zip, xz, rar, zstd)
dataset = load_dataset(
"imagefolder",
data_files="https://download.microsoft.com/download/3/E/1/3E1C3F21-ECDB-4869-8368-6DEBA77B919F/kagglecatsanddogs_5340.zip",
)
# example 4: providing several splits
dataset = load_dataset(
"imagefolder", data_files={"train": ["path/to/file1", "path/to/file2"], "test": ["path/to/file3", "path/to/file4"]}
)
Затем используйте метод push_to_hub, чтобы загрузить набор данных в Hub:
# assuming you have ran the hf auth login command in a terminal
dataset.push_to_hub("name_of_your_dataset")
# if you want to push to a private repo, simply pass private=True:
dataset.push_to_hub("name_of_your_dataset", private=True)
Теперь набор данных доступен для обучения, если передать его имя в аргумент --dataset_name:
accelerate launch --mixed_precision="fp16" train_text_to_image.py \
--pretrained_model_name_or_path="stable-diffusion-v1-5/stable-diffusion-v1-5" \
--dataset_name="name_of_your_dataset" \
<other-arguments>
Дальнейшие шаги
Теперь, когда вы создали набор данных, вы можете передать его в аргумент train_data_dir (если ваш набор данных находится локально) или dataset_name (если ваш набор данных размещён на Hub) в скрипте обучения.
Для следующих шагов попробуйте использовать свой набор данных для обучения модели бесусловной генерации или генерации изображений по тексту!
Xet Storage Details
- Size:
- 6.16 kB
- Xet hash:
- 9180ead35bd7fb800eb03f8859b27cd2e7e2a337fb2d0ccd85884df948cb7908
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.