| import numpy as np |
| import tensorflow_datasets as tfds |
| from torchvision import datasets, transforms |
| import torch, os |
| import pickle |
|
|
| def load_cifar10(data_dir=None): |
| """Return the training and test datasets, as jnp.array's.""" |
| train_ds_images_u8, train_ds_labels = tfds.as_numpy( |
| tfds.load("cifar10", split="train", batch_size=-1, as_supervised=True, data_dir=data_dir)) |
| test_ds_images_u8, test_ds_labels = tfds.as_numpy( |
| tfds.load("cifar10", split="test", batch_size=-1, as_supervised=True, data_dir=data_dir)) |
| train_ds = {"images_u8": train_ds_images_u8, "labels": train_ds_labels} |
| test_ds = {"images_u8": test_ds_images_u8, "labels": test_ds_labels} |
| return train_ds, test_ds |
|
|
| import tensorflow_datasets as tfds |
|
|
| def load_cifar100(data_dir=None): |
| |
| train_pickle = os.path.join(data_dir, "cifar100_train.pkl") |
| test_pickle = os.path.join(data_dir, "cifar100_test.pkl") |
|
|
| |
| if os.path.exists(train_pickle) and os.path.exists(test_pickle): |
| print(f"Loading dataset from {data_dir}") |
| with open(train_pickle, "rb") as f: |
| train_ds = pickle.load(f) |
| with open(test_pickle, "rb") as f: |
| test_ds = pickle.load(f) |
| return train_ds, test_ds |
|
|
| os.makedirs(data_dir, exist_ok=True) |
|
|
| |
| train_ds_images_u8, train_ds_labels = tfds.as_numpy( |
| tfds.load("cifar100", split="train", batch_size=-1, as_supervised=True, data_dir=data_dir)) |
| test_ds_images_u8, test_ds_labels = tfds.as_numpy( |
| tfds.load("cifar100", split="test", batch_size=-1, as_supervised=True, data_dir=data_dir)) |
| |
| |
| train_ds = {"images_u8": train_ds_images_u8, "labels": train_ds_labels} |
| test_ds = {"images_u8": test_ds_images_u8, "labels": test_ds_labels} |
|
|
| |
| print(f"Saving dataset to {data_dir}") |
| try: |
| with open(train_pickle, "wb") as f: |
| pickle.dump(train_ds, f) |
| with open(test_pickle, "wb") as f: |
| pickle.dump(test_ds, f) |
| print(f"Successfully saved datasets to {data_dir}") |
| except Exception as e: |
| print(f"Error saving datasets: {e}") |
| raise |
|
|
| return train_ds, test_ds |