Buckets:

hf-doc-build/doc / diffusers /main /ja /training /create_dataset.md
mishig's picture
|
download
raw
5.24 kB
# 学習用のデータセットを作成します
[Hub](https://huggingface.co/datasets?task_categories=task_categories:text-to-image&sort=downloads) にはモデルの学習に使用できる多くのデータセットが公開されていますが、興味のあるデータセットが見つからない場合や、独自のデータセットを使用したい場合は、🤗 [Datasets](https://huggingface.co/docs/datasets) ライブラリを使ってデータセットを作成できます。データセットの構造は、モデルを学習させたいタスクによって異なります。最も基本的なデータセットの構造は、無条件画像生成のようなタスクにおける画像のディレクトリです。別のデータセットの構造としては、テキストから画像を生成するタスクのように、画像のディレクトリと、それに対応するテキストキャプションを含むテキストファイルがあります。
このガイドでは、ファインチューニング用のデータセットを作成する2つの方法をご紹介します。
- `--train_data_dir` 引数に画像のフォルダを指定します
- Hub にデータセットをアップロードし、データセットのリポジトリ ID を `--dataset_name` 引数に渡します
> [!TIP]
> 💡 学習用の画像データセットの作成方法については、[画像データセットの作成](https://huggingface.co/docs/datasets/image_dataset)ガイドを参照してください。
## フォルダとしてデータセットを提供する
無条件生成を行う場合、画像のフォルダとして独自のデータセットを指定できます。学習スクリプトは、🤗 Datasets の [`ImageFolder`](https://huggingface.co/docs/datasets/en/image_dataset#imagefolder) ビルダーを使用して、フォルダから自動的にデータセットを構築します。ディレクトリ構造は次のようにしてください。
```bash
data_dir/xxx.png
data_dir/xxy.png
data_dir/[...]/xxz.png
```
`--train_data_dir` 引数にデータセットのディレクトリへのパスを渡し、トレーニングを開始できます。
```bash
accelerate launch train_unconditional.py \
--train_data_dir <path-to-train-directory> \
<other-arguments>
```
## データを Hub にアップロードする
> [!TIP]
> 💡 Hub へのデータセットの作成とアップロードに関する詳細な情報や背景については、[Image search with 🤗 Datasets](https://huggingface.co/blog/image-search-datasets) の投稿をご覧ください。
[`ImageFolder`](https://huggingface.co/docs/datasets/image_load#imagefolder)機能を使用してデータセットを作成することから始めます。この機能は、PILエンコードされた画像を含む`image`列を作成します。
`data_dir` または `data_files` パラメータを使用して、データセットの場所を指定できます。`data_files` パラメータは、`train` や `test` などのデータセットの分割に特定のファイルをマッピングすることをサポートしています:
```python
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](https://huggingface.co/docs/datasets/main/en/package_reference/main_classes#datasets.Dataset.push_to_hub) メソッドを使用して、データを Hub にアップロードします:
```python
# 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` 引数にデータセット名を渡すことで、データセットが学習に利用可能になります。
```bash
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 上にある場合)引数に設定できます。
次のステップとして、[無条件生成](unconditional_training)または[テキストから画像への生成](text2image)のモデルを、ご自身のデータセットで訓練してみてください。

Xet Storage Details

Size:
5.24 kB
·
Xet hash:
a29d56bbedccffa059919fec6d8f2c6306ec485687229e34bf65e85fa8d3d6ba

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.