# 데이터셋 버전 내보내기

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

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

데이터셋을 생성한 후, 데이터셋 버전 옆의 "Export"를 클릭하세요:

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2Fgit-blob-1deabe7cf16cfb47fbbebb2f45886ad3c0521e92%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

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

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

![기기의 .zip 폴더로 내보내기.](https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2Fgit-blob-dea583c84e27d6719a0cc8ec1ece48444d1f2668%2Fimage.png?alt=media)

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

!["Continue."를 선택한 후 나타나는 "show download code" 창.](https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2Fgit-blob-458acb441d1a881e70e3306212735ac5f33dd525%2Fimage.png?alt=media)

## 참고

데이터셋 버전은 컴퓨터 비전 모델의 학습 데이터로 사용되도록 설계되었습니다. 따라서 모델의 학습 경험과 성능을 향상시키기 위해 몇 가지 최적화를 적용합니다.

### 이미지 압축

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

원본 화질 이미지를 다운로드하려는 경우, 데이터셋의 이미지를 클릭한 다음 "Download Image"를 선택하면 됩니다.

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2Fgit-blob-da185efe818b502100921ee4c1bff202c9cf0a44%2Fimage.png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
또한 다음을 통해 프로그래밍 방식으로 이미지에 접근할 수 있습니다. [Image Details API](https://github.com/roboflow-ai/roboflow-docs/blob/main/datasets/dataset-versions/broken-reference/README.md). 다음 `image.urls.original` 속성은 원본 화질 이미지로의 링크를 나타냅니다.
{% endhint %}

전체 데이터셋의 원본 화질 이미지를 다운로드하려는 경우, 다음을 사용하면 됩니다. [Image Search API](https://app.gitbook.com/s/e5GEiPeDoFksvZv1vH3A/rest-api/manage-images/get-details-about-an-image). 이를 수행하는 데 사용할 수 있는 코드 스니펫은 다음과 같습니다:

```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}")

```

### 허용되는 문자

학습 중 발생할 수 있는 문제를 방지하기 위해, 업로드/가져오기와 내보내기 모두에서 클래스 이름을 정리합니다. 내보내기 시에는 다음을 수행합니다:

* 클래스 이름은 ASCII로 변환됩니다
  * 가능한 경우, 문자는 영어식으로 바뀝니다(예: `ü` 는 `u`)
  * 로). 그렇지 않은 경우, 대시(`-`)

{% hint style="info" %}
[클래스 이름 정리는 업로드 중에도 수행됩니다](https://docs.roboflow.com/roboflow/roboflow-ko/adding-data#class-name-sanitization)
{% endhint %}

### Python 패키지로 내보내기

Python 패키지를 사용하여 버전을 생성하고 데이터셋을 내보낼 수 있습니다.

{% content-ref url="<https://app.gitbook.com/s/e5GEiPeDoFksvZv1vH3A/python-sdk/create-a-dataset-version>" %}
[Create a Dataset Version](https://app.gitbook.com/s/e5GEiPeDoFksvZv1vH3A/python-sdk/create-a-dataset-version)
{% endcontent-ref %}
