> 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/exporting-data.md).

# データセットバージョンをエクスポートする

## 概要

エクスポートすると、選択したアノテーション形式でデータセットのバージョンのダウンロード可能なスナップショットが生成されます - YOLO、COCO、Pascal VOC、CreateML など（完全な一覧は [formats ディレクトリ](https://roboflow.com/formats)）。Roboflow の Web アプリ、Python SDK、REST API、または CLI からエクスポートできます。データセットのバージョンは学習用に作成されるため、エクスポートされた画像は圧縮され、クラス名はサニタイズされます。詳細は [エクスポートの動作](#export-behavior) をご覧ください。詳細と、元の品質の画像を取得する方法も記載しています。

## Web アプリ

Web インターフェースから、いつでも Roboflow のデータをエクスポートできます。

データをエクスポートするには、まず Roboflow ダッシュボードでデータセットのバージョンを生成します。これは、プロジェクトに関連付けられた「Versions」ページから行えます。

データセットを生成したら、データセットのバージョンの横にある「Export」をクリックします:

<figure><img src="/files/1e4bd758e4f2a9819a98aabcdccea21a6356c7c2" alt="" width="563"><figcaption></figcaption></figure>

さまざまな形式でデータをダウンロードできます。対応しているエクスポート形式の全一覧は、当社の「Export」タブで確認できます。 [formats ディレクトリ](https://roboflow.com/formats).

エクスポート形式を選択した後、データを `.zip` ファイルとして、または `curl` リンクとして、コマンドラインからダウンロードできます。

![デバイス上の .zip フォルダにエクスポートしています。](/files/575f387e4ca84248820ef491476ea8c917e802f6)

{% hint style="warning" %}
*この `curl` および Python コードには、アカウント固有の秘密鍵が含まれます。この鍵は共有しないでください！*
{% endhint %}

![「Continue」を選択した後に表示される「show download code」のウィンドウ。](/files/1d798a62eac062cafb37102928a9744d4f7a136b)

## HTTP API

`/:workspace/:project/:version/:format` は、特定の形式でエクスポートされたデータセットのダウンロードリンクを取得するために使用するルートです。これを以下の Jupyter ノートブックで使用できます。 [当社のモデルライブラリ](https://models.roboflow.com) または独自のカスタム学習スクリプトで利用できます。

次のエンドポイントは `export` 値を返し、その中に `link` キーが含まれており、その URL からデータセットをダウンロードできます:

<pre class="language-bash"><code class="lang-bash"><strong>curl "https://api.roboflow.com/roboflow/chess-sample-4ckfl/1/yolov5pytorch?api_key=$ROBOFLOW_API_KEY"
</strong></code></pre>

以下は、エンドポイントが返すペイロードの例です:

```bash
{
    "workspace": {
        "name": "Roboflow",
        "url": "roboflow",
        "members": 7
    },
    "project": {
        "id": "roboflow/chess-sample-4ckfl",
        "type": "object-detection",
        "name": "チェスのサンプル",
        "created": 1630335544.592,
        "updated": 1630335741.988,
        "images": 12,
        "unannotated": 3,
        "annotation": "pieces",
        "public": false,
        "splits": {
            "test": 1,
            "train": 9,
            "valid": 2
        },
        "classes": {
            "white-bishop": 11,
            "black-king": 8,
            "black-knight": 11,
            "white-queen": 7,
            "black-bishop": 8,
            "white-rook": 10,
            "black-rook": 10,
            "white-king": 8,
            "black-queen": 4,
            "black-pawn": 37,
            "white-pawn": 34,
            "white-knight": 10
        }
    },
    "version": {
        "id": "roboflow/chess-sample-4ckfl/1",
        "name": "拡張済み",
        "created": 1630335698.746,
        "images": 30,
        "splits": {
            "train": 27,
            "test": 1,
            "valid": 2
        },
        "model": {
            "id": "chess-sample-4ckfl/1",
            "endpoint": "https://serverless.roboflow.com/infer/chess-sample-4ckfl/1",
            "start": 1630335799.682,
            "end": 1630337523.889,
            "fromScratch": false,
            "tfjs": true,
            "oak": true,
            "map": "62.87",
            "recall": "85.29",
            "precision": "23.44"
        },
        "preprocessing": {
            "grayscale": {
                "enabled": true
            },
            "resize": {
                "width": 416,
                "height": 416,
                "enabled": true,
                "format": "引き伸ばす"
            },
            "auto-orient": {
                "enabled": true
            }
        },
        "augmentation": {
            "rotate": {
                "enabled": true,
                "degrees": "5"
            },
            "exposure": {
                "enabled": true,
                "percent": "25"
            },
            "noise": {
                "enabled": true,
                "percent": "2"
            },
            "image": {
                "versions": "3",
                "enabled": true
            },
            "flip": {
                "horizontal": true,
                "enabled": true,
                "vertical": false
            },
            "brightness": {
                "enabled": true,
                "brighten": true,
                "percent": "25",
                "darken": true
            },
            "crop": {
                "percent": 30,
                "enabled": true,
                "min": 0
            }
        },
        "exports": [
            "yolov5pytorch"
        ]
    },
    "export": {
        "format": "yolov5pytorch",
        "link": "https://app.roboflow.com/ds/XXXXXXXXXX?key=XXXXXXXXXX"
    }
}
```

### エクスポート形式オプション

データセットのエクスポートで利用できる設定オプションは次のとおりです:

| 物体検出          | 単一ラベル分類 | マルチラベル分類   | インスタンスセグメンテーション   | セマンティックセグメンテーション  | キーポイント検出      |
| ------------- | ------- | ---------- | ----------------- | ----------------- | ------------- |
| clip          | folder  | multiclass | coco-segmentation | coco-segmentation | coco          |
| coco          | clip    | folder     | clip              | png-mask-semantic | yolov5pytorch |
| createml      |         | clip       | coco              |                   |               |
| darknet       |         |            | createml          |                   |               |
| multiclass    |         |            | darknet           |                   |               |
| tensorflow    |         |            | multiclass        |                   |               |
| tfrecord      |         |            | tensorflow        |                   |               |
| voc           |         |            | tfrecord          |                   |               |
| yolokeras     |         |            | voc               |                   |               |
| yolov5pytorch |         |            | yolokeras         |                   |               |
| yolov7pytorch |         |            | yolov4pytorch     |                   |               |
| mt-yolov6     |         |            | yolov4scaled      |                   |               |
| retinanet     |         |            | yolov5-obb        |                   |               |
| benchmarker   |         |            | yolov5pytorch     |                   |               |
|               |         |            | yolov7pytorch     |                   |               |
|               |         |            | mt-yolov6         |                   |               |
|               |         |            | retinanet         |                   |               |
|               |         |            | benchmarker       |                   |               |

## Python SDK

Python パッケージを使って、バージョンの生成とデータセットのエクスポートの両方を行えます。

Python SDK からエクスポート用のデータセットの ZIP ファイルを作成するには、まず特定の [プロジェクトのバージョンを取得します](https://docs.roboflow.com/platform/workspaces/list-workspaces-and-projects#list-projects-and-versions):

```
version = project.version(version_number)
```

その後、データセットを直接ダウンロードします:

```python
version.download(model_format="yolov5", location="./downloads")
```

download メソッドは、必要に応じてエクスポートの作成を自動で処理し、ZIP ファイルを指定した場所に展開して、データセットの内容を説明するオブジェクトを返します。

エクスポート前にバージョンを生成する方法については、 [データセットのバージョンを作成](/datasets/ja/bjon/dataset-versions/create-a-dataset-version.md#python-sdk).

### 元の品質の画像をダウンロード

エクスポートされた画像は学習用に圧縮されています（ [エクスポートの動作](#export-behavior)）。データセット全体の元のフル解像度画像をダウンロードするには、 [Image Search API](/datasets/ja/guan-li/manage-images.md#get-details-about-an-image):

```python
import os
import requests
from roboflow import Roboflow

rf = Roboflow(api_key="YOUR_API_KEY")

project = rf.project("my-dataset-id")

records = []

for page in project.search_all(
    offset = 0,
    limit = 100,
    in_dataset = True,
    batch = False,
    fields = ["id", "name", "owner"],
):
    records.extend(page)

print(f"{len(records)} 画像が見つかりました")

for record in records:
        base_url = "https://source.roboflow.com"
        url = f"{base_url}/{record['owner']}/{record['id']}/original.jpg"

        try:
            response = requests.get(url)
            response.raise_for_status()

            # 一時ディレクトリに保存
            save_path = os.path.join('temp_images', record['name'])
            with open(save_path, 'wb') as f:
                f.write(response.content)

            print(f"ダウンロードしました: {record['name']}")

        except requests.exceptions.RequestException as e:
            print(f"画像のダウンロード中にエラーが発生しました: {e}")

```

## CLI

次のコマンドを使用して、Roboflow CLI からデータをエクスポートできます:

```
roboflow download <datasetUrl>
```

[この CLI コマンドの詳細は、ドキュメントをご覧ください。](/datasets/ja/toappurdo/download-a-dataset.md#cli)

## エクスポートの動作

データセットのバージョンは、コンピュータビジョンモデルの学習データとして使うように設計されています。そのため、モデルの学習体験と性能を向上させるためにいくつかの最適化を行っています。

### 画像圧縮

学習の遅延を防ぐため、十分なモデル性能に必要な解像度と学習速度のバランスを保てるレベルで画像を圧縮しています。

元の品質の画像をダウンロードしたい場合は、データセット内の画像をクリックして「Download Image」を選択してください。

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

{% hint style="info" %}
また、次の API を通じて画像にプログラムからアクセスすることもできます。 [Image Details API](/datasets/ja/guan-li/manage-images.md#get-details-about-an-image)。その `image.urls.original` プロパティには、元の品質の画像へのリンクが示されています。
{% endhint %}

データセット内のすべての元の品質の画像をプログラムからダウンロードする方法については、 [元の品質の画像をダウンロード](#download-original-quality-images) Python SDK セクションをご覧ください。

### 使用可能な文字

学習時に問題が発生するのを防ぐため、アップロード/インポート時とエクスポート時の両方でクラス名をサニタイズしています。エクスポート時には、次の処理を行います:

* クラス名は ASCII に変換されます
  * 可能な場合は、文字を英語表記に置き換えます（例: `ü` から `u`)
  * それ以外の場合は、ダッシュ（`-`)

{% hint style="info" %}
[クラス名のサニタイズはアップロード時にも行われます](/datasets/ja/toappurdo/adding-data.md)
{% endhint %}
