PULSE: Unlocking Practical Image Compression on Single-Thread CPU

arXiv: coming soon GitHub

PULSE is an asymmetric, variable-rate neural image codec for practical compression on resource-constrained hardware. It combines ultra-low-complexity decoding, bit-exact entropy coding, and MSE or perceptual optimization.

Key Advantages

  • Single-thread CPU decoding: The base receiver requires just 5.2 kMAC/pixel.
  • Cross-platform entropy coding: Integer Linear CDF prediction and CPU rANS provide deterministic entropy transport, with a content-adaptive Meta Prior.
  • Flexible rate and quality: Four MSE/perceptual models support eight quality levels each, including face/text-aware perceptual fine-tuning.
  • Complete codec tools: Training, independent .pulse compression and decompression, and optimized CPU, H100 GPU, and mobile NPU deployment tools.

Training | Deployment

Available Models

Bundle Objective Receiver
pulse-s-mse MSE ~2.7 kMAC/pixel
pulse-mse MSE ~5.2 kMAC/pixel
pulse-perceptual Perceptual / ROI ~5.2 kMAC/pixel
pulse-l-perceptual Perceptual / ROI ~20 kMAC/pixel

Each bundle contains config.json, model.pt and entropy_control_int.pt. Eight QPs (0–7) are supported. Keep the matching files together. manifest.json and SHA256SUMS record all inference-file checksums.

Packaging checks on September 12, 2026 passed all eight QPs of all four models on CPU and CUDA. Native transport bytes and uint8 reconstructions matched the original implementation on the same backend. The code's checked envelope adds 32 bytes around that native transport. These are compatibility checks, not a new RD evaluation.

Use

Install the PULSE code following its installation guide, then run from GenCodec/PULSE:

python download_models.py --repo zhaoyangjia/PULSE --models pulse-mse
python compress.py --model checkpoints/pulse-mse \
  --input image.png --output image.pulse --qp 3
python decompress.py --model checkpoints/pulse-mse \
  --input image.pulse --output reconstruction.png
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support