🎨 PokeColor — Pokémon Card Colorizer
PokeColor is a deep learning model that automatically colorizes grayscale Pokémon Trading Card Game (TCG) images. It is based on a U-Net architecture and trained on a large collection of official Pokémon TCG card images.
🖼️ Demo
grayscale -> generated -> original
🧠 Model Architecture
- Architecture: U-Net (encoder–decoder with skip connections)
- Framework: PyTorch
- Task: Image-to-image translation (grayscale → color)
- Input: Grayscale Pokémon TCG card image
- Output: Colorized RGB image
📦 Dataset
The model was trained on the Pokemon TCG — All Image Cards dataset from Kaggle, which contains thousands of official Pokémon card images spanning multiple generations and sets.
🚀 Usage
Load the model
import torch
import torch.nn as nn
from torchvision import transforms
from PIL import Image
# Define your U-Net architecture (must match training)
# model = UNet(...)
# Load weights
model.load_state_dict(torch.load("pokemon_unet_colorizer.pth", map_location="cpu"))
model.eval()
Run inference
from PIL import Image
import torchvision.transforms.functional as TF
# Load and preprocess a grayscale image
img = Image.open("your_card.png").convert("L") # Grayscale
img_tensor = TF.to_tensor(img).unsqueeze(0) # Shape: [1, 1, H, W]
# Predict
with torch.no_grad():
output = model(img_tensor) # Shape: [1, 3, H, W]
# Save result
result = TF.to_pil_image(output.squeeze(0).clamp(0, 1))
result.save("colorized_card.png")
⚠️ Make sure the U-Net architecture used for inference matches the one used during training (number of layers, channels, etc.).
📁 Files
| File | Description |
|---|---|
pokemon_unet_colorizer.pth |
PyTorch model weights (373 MB) |
demo-1.png |
Example input / output image 1 |
demo-2.png |
Example input / output image 2 |
⚙️ Training Details
| Parameter | Value |
|---|---|
| Architecture | U-Net |
| Loss function | L1 / MSE (image reconstruction) |
| Dataset | Pokémon TCG All Image Cards (Kaggle) |
| Framework | PyTorch |
👤 Author
Made by DO2K26 /
📜 License
This model is released under the Apache 2.0 license.
The training dataset is subject to its own Kaggle license.
Pokémon and all related names are trademarks of Nintendo / Game Freak / The Pokémon Company. This project is not affiliated with or endorsed by them.
🙏 Acknowledgements
- Dataset by ellimaaac on Kaggle
- U-Net architecture originally introduced by Ronneberger et al. (2015)

