> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/ja/bjon/dataset-versions/create-a-dataset-version.md).

# データセットのバージョンを作成

## 概要

バージョンとは、データセットのある時点のスナップショットです。各反復でどの画像、前処理、拡張手順が使われたかを正確に記録しておくことで、結果を再現できる能力を維持できるため、私たちはこれらのバージョンを保持しています。これにより、データパイプラインのバグや変更によるものではなく、モデルの変更に起因する結果であると確信しながら、さまざまなモデルやフレームワークをまたいで科学的にテストできます。

<a href="https://docs.roboflow.com/platform/workspaces/key-concepts" class="button primary">主要概念: ワークスペースとプロジェクトとは？</a>

{% hint style="info" %}
バージョンが作成されると、それは時間の中で固定されます。つまり、画像、アノテーション、その他のデータを追加・削除するなど、プロジェクトに加えた変更は、それ以前に作成されたバージョンには影響しません。
{% endhint %}

## Web アプリ

### データセットのバージョンを作成する方法

このページに表示されている Roboflow プロジェクトのサイドバーで「Versions」をクリックし、次に「Generate New Version」をクリックします。

このページでは、train/test/valid の分割を設定し、新しいデータセットバージョンの前処理手順と拡張を指定できます。

<figure><img src="/files/c331a6af269d9a8f5c703cc8eacdb779256bed09" alt="" width="375"><figcaption></figcaption></figure>

データに適用したい前処理手順と拡張を指定したら、「Generate」をクリックします。これで新しいデータセットバージョンが生成されます。その後、このデータセットバージョンを使って Roboflow でモデルを学習できます。さらに、 [データセットをエクスポート](/datasets/ja/bjon/dataset-versions/exporting-data.md) して、モデルを手動で学習する際に使用することもできます。

### Train/Validation/Test の分割を再調整する

バージョン作成の過程では、学習・検証・テストセットの分割バランスを再調整することもできます。これを行うには、「Step 2: Train/Test Split」に移動し、「Rebalance」ボタンをクリックします。

<figure><img src="/files/ceef858cf0bbcfef3687620db6d528ea3d38fefc" alt="" width="375"><figcaption></figcaption></figure>

推奨される分割は 70/20/10（train/valid/test）で、多くのデータセットにとって強力な出発点です。いつでも「Reset」をクリックして元に戻せます。

train、validation、test の割合を設定し、次に画像を再割り当てする方法を選択します:

* 「Move as few as possible」は、画像を現在の分割にできるだけ残し、目標割合に達するのに必要な分だけ移動します。
* 「Random shuffle」は、すべての画像を分割間でランダムに再割り当てします。
* 「Random shuffle per upload batch or annotation job」は、各アップロードバッチまたは完了したアノテーションジョブを個別にシャッフルするため、各バッチとジョブが目標割合に一致します。

また、特定のクラスに限定して再バランスを行うこともできます。クラスを選択すると、そのクラスのみを含む画像への移動に制限され、方法は「Move as few as possible」に切り替わります。

大規模データセットでは、再バランスは各フェーズの進行状況付きのバックグラウンドタスクとして実行されます。処理が続いている間にダイアログを閉じてもよく、アクティビティセンターで進捗を追跡できます。

## Python SDK

バージョンは、選択した前処理および拡張手順を適用した、プロジェクトのラベル付きデータのスナップショットを固定します。プロジェクトに直接対してではなく、バージョンに対して学習してください。

`Project.generate_version()` は新しいバージョン番号を返します。これを `project.version(...)` に渡して `バージョン` ハンドルを取得できます。

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("my-detector")

new_version = project.generate_version(settings={
    "preprocessing": {
        "auto-orient": True,
        "resize": {"width": 640, "height": 640, "format": "伸縮して合わせる"},
    },
    "augmentation": {},
})
version = project.version(new_version)
```

こちらは設定の完全な例です。各プロパティの詳細な説明を以下に示します。

```json
{
    "versionName": "アライグマ",
    "augmentation": {
        "bbblur": { "pixels": 1.5 },
        "bbbrightness": { "brighten": true, "darken": false, "percent": 91 },
        "bbcrop": { "min": 12, "max": 71 },
        "bbexposure": { "percent": 30 },
        "bbflip": { "horizontal": true, "vertical": false },
        "bbnoise": { "percent": 50 },
        "bbninety": { "clockwise": true, "counter-clockwise": false, "upside-down": false },
        "bbrotate": { "degrees": 45 },
        "bbshear": { "horizontal": 45, "vertical": 45 },
        "blur": { "pixels": 1.5 },
        "brightness": { "brighten": true, "darken": false, "percent": 91 },
        "crop": { "min": 12, "max": 71 },
        "cutout": { "count": 26, "percent": 71 },
        "exposure": { "percent": 30 },
        "flip": { "horizontal": true, "vertical": false },
        "hue": { "degrees": 180 },
        "image": { "versions": 32 },
        "mosaic": true,
        "ninety": { "clockwise": true, "counter-clockwise": false, "upside-down": false },
        "noise": { "percent": 50 },
        "rgrayscale": { "percent": 50 },
        "rotate": { "degrees": 45 },
        "saturation": { "percent": 50 },
        "shear": { "horizontal": 45, "vertical": 45 }
    },
    "preprocessing": {
        "auto-orient": true,
        "contrast": { "type": "コントラスト伸張" },
        "filter-null": { "percent": 50 },
        "filter-tags": { "tag_name": true, "other_tag": false },
        "grayscale": true,
        "isolate": true,
        "remap": { "original_class_name": "new_class_name" },
        "resize": { "width": 200, "height": 200, "format": "伸縮して合わせる" },
        "static-crop": { "x_min": 10, "x_max": 90, "y_min": 10, "y_max": 90 },
        "tile": { "rows": 2, "columns": 2 }
    }
}
```
