CPU Optimizer

Optimize models for CPU inference

Overview

optimize_for_cpu prepares a model for efficient CPU inference by combining:

  1. Channels-last memory format — optimizes layout for CNN operations on CPU
  2. Compilationtorch.compile (default) or torch.jit.trace for operator fusion
Backend Speed Compatibility Best For
"compile" Faster Most models Default choice
"trace" Good Requires static shapes Legacy / mobile
from fasterai.misc.cpu_optimizer import optimize_for_cpu

model = resnet18(pretrained=True)
sample = torch.randn(1, 3, 224, 224)

# Default: torch.compile
optimized = optimize_for_cpu(model, sample)

# Or JIT trace for mobile/static shapes
traced = optimize_for_cpu(model, sample, backend="trace")

Note: accelerate_model_for_cpu is deprecated. Use optimize_for_cpu instead.


See Also