# Dataset Version 내보내기

Roboflow에서 언제든지 데이터를 내보낼 수 있습니다. Roboflow 웹 인터페이스 또는 Python 패키지를 사용해 데이터를 내보낼 수 있습니다.

데이터를 내보내려면 먼저 Roboflow 대시보드에서 dataset version을 생성하세요. 프로젝트와 연결된 "Versions" 페이지에서 그렇게 할 수 있습니다.

dataset을 생성한 후, dataset version 옆의 "Export"를 클릭하세요:

<figure><img src="/files/63e5c5fea2d18b2d3b27c915286a13133bcd7ee4" alt="" width="563"><figcaption></figcaption></figure>

다양한 형식으로 데이터를 다운로드할 수 있습니다. 지원되는 전체 export 형식 목록은 저희의 "Export" 탭에서 확인할 수 있습니다. [formats directory](https://roboflow.com/formats).

export 형식을 선택한 후에는 데이터를 다음 중 하나로 다운로드할 수 있습니다. `.zip` 파일로, 또는 다음으로 `curl` 명령줄에서 다운로드할 수 있는 링크로 받을 수 있습니다.

![기기의 .zip 폴더로 exporting 중입니다.](/files/76a1cc75aaeea2526f6cc8545c61d7f809d24b24)

{% hint style="warning" %}
*다음 `curl` 및 Python 코드는 계정에 고유한 private key를 포함합니다. 이 key를 공유하지 마세요!*
{% endhint %}

!["Continue"를 선택한 후 나타나는 "show download code" 창입니다.](/files/1f06f33ecf18ff5b26d651fb243a56d56b9f7ce9)

## 노트

Dataset version은 computer vision 모델의 training data로 사용되도록 설계되었습니다. 따라서 모델의 training 경험과 성능을 향상시키기 위해 몇 가지 최적화를 적용합니다.

### Image Compression

training 속도 저하를 방지하기 위해, 충분한 모델 성능에 필요한 해상도와 training 속도 사이의 균형을 유지하는 수준으로 이미지를 압축합니다.

원본 품질의 이미지를 다운로드하려면 dataset의 이미지 하나를 클릭한 다음 "Download Image"를 선택하면 됩니다.

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

{% hint style="info" %}
또한 다음을 통해 프로그래밍 방식으로 이미지에 접근할 수 있습니다. [Image Details API](/developer/rest-api/manage-images/get-details-about-an-image.md). 다음 `image.urls.original` 속성은 원본 품질 이미지로 연결되는 링크를 나타냅니다.
{% endhint %}

전체 dataset의 원본 품질 이미지를 다운로드하려면 다음을 사용하면 됩니다. [Image Search API](/developer/rest-api/manage-images/get-details-about-an-image.md). 다음은 이를 수행하는 데 사용할 수 있는 코드 스니펫입니다:

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

rf = Roboflow("YOUR_ROBOFLOW_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)} images found")

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"Downloaded: {record['name']}")

        except requests.exceptions.RequestException as e:
            print(f"이미지 다운로드 오류: {e}")

```

### 허용되는 문자

training 중 문제가 발생하는 것을 방지하기 위해, 업로드/가져오기와 export 시 모두 class name을 정리합니다. export 시에는 다음을 수행합니다:

* class name은 ASCII로 변환됩니다
  * 가능한 경우, 문자는 영어식으로 변환됩니다(예: `ü` 를 `u`)
  * 로). 그렇지 않으면 대시("-")로 대체됩니다.`-`)

{% hint style="info" %}
[class name 정리는 업로드 중에도 수행됩니다](/roboflow/roboflow-ko/datasets/adding-data.md#class-name-sanitization)
{% endhint %}

### Python 패키지로 Export하기

Python 패키지를 사용해 version을 생성하고 dataset을 export할 수도 있습니다.

{% content-ref url="/spaces/e5GEiPeDoFksvZv1vH3A/pages/0zziwbyAo255wXPCoF3O" %}
[Create a Dataset Version](/developer/python-sdk/create-a-dataset-version.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-ko/datasets/dataset-versions/exporting-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
