Spaces:
Sleeping
Sleeping
| import datasets | |
| import random | |
| import torchvision.transforms.v2.functional as functional | |
| from collections import Counter | |
| def rotate90(image): | |
| """Rotate the image by a random multiple of 90 degrees""" | |
| angle = 90 * random.randint(1,3) | |
| return functional.rotate(image, angle=angle) | |
| def calc_class_dist(dataset: datasets.Dataset) -> list[float]: | |
| """ | |
| Return percentage of total examples, done per class. | |
| """ | |
| # extract classes only | |
| labels = dataset["label"] | |
| counts = Counter(labels) | |
| total_size = sum(counts.values()) | |
| percents = [100 * counts.get(i, 0) / total_size for i in range(max(labels)+1)] | |
| return percents | |
| def int_to_string(dataset: datasets.Dataset, int_label: int) -> str: | |
| """ | |
| Converts integer labels to their string counterpart. | |
| """ | |
| if not (0 <= int_label <= 38): | |
| raise ValueError(f"Given label value, {int_label}, is out of range.") | |
| return dataset.features['label'].int2str(int_label) | |