Multi-backend deep learning upscalers for pixtreme
Project description
pixtreme-upscale
Multi-backend deep learning upscalers for pixtreme
Overview
pixtreme-upscale provides GPU-accelerated deep learning super-resolution with support for ONNX, PyTorch, and TensorRT backends. Integrates with Spandrel for automatic model architecture detection.
Features
- Multi-Backend Support: ONNX Runtime, PyTorch, TensorRT
- Automatic Tiling: Handle large images with automatic tiling workflow
- Model Conversion: PyTorch → ONNX → TensorRT pipeline
- Spandrel Integration: Automatic architecture detection for 100+ models
- Zero-Copy: Direct GPU memory operations
Installation
Requirements:
- Python >= 3.12
- CUDA Toolkit 12.x
- NVIDIA GPU with compute capability >= 6.0
# Base installation (ONNX + PyTorch)
pip install pixtreme-upscale
# With TensorRT support
pip install pixtreme-upscale[tensorrt]
Requires pixtreme-core, PyTorch, ONNX Runtime, and CUDA Toolkit 12.x.
Quick Start
import pixtreme_upscale as pu
import pixtreme_core as px
# Read image
img = px.imread("input.jpg")
# ONNX backend (fastest compatibility)
upscaler = pu.OnnxUpscaler("model.onnx")
upscaled = upscaler.get(img)
# PyTorch backend (most flexible)
upscaler = pu.TorchUpscaler("model.pth")
upscaled = upscaler.get(img)
# TensorRT backend (fastest performance)
upscaler = pu.TrtUpscaler("model.onnx") # Auto-converts to TRT
upscaled = upscaler.get(img)
# Save result
px.imwrite("output.jpg", upscaled)
Automatic Tiling
All upscalers automatically handle large images via tiling:
# Automatically tiles large images
large_img = px.imread("8k_image.jpg")
upscaled = upscaler.get(large_img) # Handles tiling internally
Model Conversion
from pixtreme_upscale.utils.model_convert import torch_to_onnx, onnx_to_trt
# PyTorch → ONNX
torch_to_onnx("model.pth", "model.onnx", input_shape=(1, 3, 1080, 1920))
# ONNX → TensorRT
onnx_to_trt("model.onnx", "model.trt", precision="fp16")
Supported Models
Works with Spandrel-supported architectures:
- ESRGAN, Real-ESRGAN, RealESRGAN+
- SwinIR, HAT, OmniSR
- And 100+ more architectures
License
MIT License - see LICENSE file for details.
Links
- Repository: https://github.com/sync-dev-org/pixtreme
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 pixtreme_upscale-0.8.6.tar.gz.
File metadata
- Download URL: pixtreme_upscale-0.8.6.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb1ccfb4d3ef779d581f492cb1a8c292eb8b1df4e39617eef4483d8886d5db36
|
|
| MD5 |
fe1a00f586652914ff86b9b1aa6e396e
|
|
| BLAKE2b-256 |
45967a71ee132205b3079707ec7910edc2004101f81d629c7862322ef49a95b9
|
File details
Details for the file pixtreme_upscale-0.8.6-py3-none-any.whl.
File metadata
- Download URL: pixtreme_upscale-0.8.6-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15bbaf8879c964e4daf84dc411a3538d6ef06943a87270fdac091576ea56d384
|
|
| MD5 |
d4e4a4de2fc539c8626112736898da36
|
|
| BLAKE2b-256 |
084766fc03b02384ce892df57d1402be8aa3d74b14d15346299ed3c07804d219
|