A dataset wrapper that performs CIFAR-10 multimodal loading
Project description
Multimodal CIFAR Dataset
Quick Start
from cifar_rgb.datasets import create_cifar_rgb_loaders
from cifar_rgb.transforms import grayscale
train_loader, test_loader = create_cifar_rgb_loaders(
batch_size=32,
transform=grayscale,
train_ratio=0.8,
random_seed=42
)
for data, target in train_loader:
pass # data shape: (32, 3, 32, 32), target shape: (32,)
Visualization
import matplotlib.pyplot as plt
from cifar_rgb.datasets import create_cifar_rgb_loaders
from cifar_rgb.transforms import grayscale
train_loader, _ = create_cifar_rgb_loaders(
batch_size=4,
transform=grayscale,
train_ratio=0.8,
random_seed=42
)
img_rgb, label = next(iter(train_loader))[0][0], next(iter(train_loader))[1][0].item()
plt.figure(figsize=(10, 3))
plt.subplot(1, 4, 1)
plt.imshow(img_rgb.permute(1, 2, 0).numpy())
plt.title(f"RGB (Label: {label})")
plt.axis('off')
for i, (channel, title) in enumerate(zip(img_rgb, ["R/Mode 1", "G/Mode 2", "B/Mode 3"]), start=2):
plt.subplot(1, 4, i)
plt.imshow(channel.numpy(), cmap='gray')
plt.title(title)
plt.axis('off')
plt.tight_layout()
plt.show()
API Reference
RGBDataset
Wraps three grayscale datasets as RGB.
from cifar_rgb.datasets import RGBDataset
dataset = RGBDataset(
mode1_dataset,
mode2_dataset,
mode3_dataset,
train=True,
train_ratio=0.8,
random_seed=42
)
CIFARRGBData
High-level manager for CIFAR RGB datasets.
from cifar_rgb.datasets import CIFARRGBData
manager = CIFARRGBData(
data_root='./data',
transform=grayscale,
train_ratio=0.8,
random_seed=42
)
train_dataset, test_dataset = manager.get_datasets()
train_loader, test_loader = manager.get_loaders(
batch_size=32,
shuffle_train=True,
shuffle_test=False,
num_workers=0
)
Helper Functions
from cifar_rgb.datasets import create_cifar_rgb_datasets, create_cifar_rgb_loaders
# Datasets
train_dataset, test_dataset = create_cifar_rgb_datasets(
data_root='./data',
transform=grayscale,
train_ratio=0.8,
random_seed=42,
download=True
)
# Loaders
train_loader, test_loader = create_cifar_rgb_loaders(
batch_size=32,
data_root='./data',
transform=grayscale,
train_ratio=0.8,
random_seed=42,
shuffle_train=True,
shuffle_test=False,
num_workers=0,
download=True
)
Transforms
from cifar_rgb.transforms import grayscale
# grayscale = Compose([Grayscale(num_output_channels=1), ToTensor()])
Data Format
- Input: Three grayscale datasets
- Output: RGB images with:
- Red = mode1
- Green = mode2
- Blue = mode3
- Shape: (3, 32, 32)
- Labels: Taken from original datasets
Dependencies
- PyTorch
- torchvision
- matplotlib
- pytest (for tests)
Testing
pytest tests/
Examples
See examples/visualize.py for RGB channel visualization.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mmcifar-0.0.1.tar.gz.
File metadata
- Download URL: mmcifar-0.0.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
002d1e2789b7e0ea805f0c4ee138d8a6f071680dd01e93499cd14369e5310f0e
|
|
| MD5 |
2cfa6af0ac7050a7bfe95e52137fe873
|
|
| BLAKE2b-256 |
d99e837c7d0231c1f328d346913291b2e58e6ae74737cec4180953e1d26ab874
|
Provenance
The following attestation bundles were made for mmcifar-0.0.1.tar.gz:
Publisher:
python-publish.yml on umsynbio/MM_CIFAR
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mmcifar-0.0.1.tar.gz -
Subject digest:
002d1e2789b7e0ea805f0c4ee138d8a6f071680dd01e93499cd14369e5310f0e - Sigstore transparency entry: 242933601
- Sigstore integration time:
-
Permalink:
umsynbio/MM_CIFAR@f10d5f738b199b1a7c8c73e0c0dd50a7712017ec -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/umsynbio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f10d5f738b199b1a7c8c73e0c0dd50a7712017ec -
Trigger Event:
release
-
Statement type:
File details
Details for the file mmcifar-0.0.1-py3-none-any.whl.
File metadata
- Download URL: mmcifar-0.0.1-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31b9db6bf78ff6f6cb9ab51c452f62134dfcab6659daffafb03a64eef46e11ae
|
|
| MD5 |
53ed952d67566d4f32df14ff9dd686be
|
|
| BLAKE2b-256 |
cba0b149187d4ee59cb23a2f318d02e64ab30075b6db209bcf841f8634e017d2
|
Provenance
The following attestation bundles were made for mmcifar-0.0.1-py3-none-any.whl:
Publisher:
python-publish.yml on umsynbio/MM_CIFAR
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mmcifar-0.0.1-py3-none-any.whl -
Subject digest:
31b9db6bf78ff6f6cb9ab51c452f62134dfcab6659daffafb03a64eef46e11ae - Sigstore transparency entry: 242933603
- Sigstore integration time:
-
Permalink:
umsynbio/MM_CIFAR@f10d5f738b199b1a7c8c73e0c0dd50a7712017ec -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/umsynbio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f10d5f738b199b1a7c8c73e0c0dd50a7712017ec -
Trigger Event:
release
-
Statement type: