Export a Dataset Version

Export data from Roboflow for training.

You can export data from Roboflow at any time. You can export data using the Roboflow web interface or our Python package.

To export data, first generate a dataset version in the Roboflow dashboard. You can do so on the "Versions" page associated with your project.

After you have generated a dataset, click "Export" next to your dataset version:

You can download your data in a wide variety of formats. You can see a full list of supported export formats in the "Export" tab of our formats directory.

After selecting an export format, you can choose to either download the data as a .zip file, or as a curl link to download from the command line.

Exporting to a .zip folder on your device.
The window that appears for "show download code" after selecting "Continue."

Notes

Dataset versions are designed to be used as training data for computer vision models. Therefore, we make some optimizations to improve the training experience and performance of the models.

Image Compression

To prevent training slowdowns, we compress images at a level that maintains a balance between training speed and resolution needed for sufficient model performance.

If you're looking to download the original quality image, you can do so by clicking on a image on your dataset and selecting "Download Image".

You can also access your images programmatically via the Image Details API. The image.urls.original property states the link to the original quality image.

If you're looking to download your entire dataset original quality images, you can do so by using the Image Search API. Here's a code snippet you can use to do that:

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 to temp directory
            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"Error downloading image: {e}")

Accepted Characters

To prevent issues from arising during training, we sanitize class names both at upload/import and export. At export, we perform the following:

  • Class names are converted to ASCII

    • Where possible, characters are anglicized (ex: ü to u)

    • Otherwise, they are replaced with a dash (-)

Export with the Python Package

You can both generate versions and export datasets with the Python package.

Create a Dataset Version

Last updated

Was this helpful?