timm documentation

CPUBone

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.0.30).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CPUBone

Category: Efficient/Mobile · Code: timm/models/cpubone.py · Architectures: 9 · Pretrained weights: 9 (0 with ImageNet-1k results)

CPUBone is a vision backbone designed for devices with low parallelization capabilities, such as CPUs, built from (fused) MBConv blocks and convolutional attention blocks.

Papers

Usage

See the Quickstart for loading pretrained weights, image preprocessing and fine-tuning, and Feature Extraction for using the models as backbones.

>>> import timm
>>> model = timm.create_model('cpubone_b0_bfrobust.r224_in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)

Model API support

FeatureCPUBone
features_only=True feature maps✓ (strides 4, 8, 16, 32)
forward_intermediates()✓
prune_intermediate_layers()✓
Any input size, no changes needed✓
set_input_size()–
dynamic_img_size=True–
set_grad_checkpointing()✓
Layer-wise LR decay (group_matcher())✓
reset_classifier()✓

✓ supported, ✓ (square) works for square sizes only, ✗ not supported, – not needed (the model already accepts any input size). Checked by running each feature on a randomly initialized model (CPUBone with cpubone_nano at 224), other architectures of the same class are expected to behave the same. See the Model API page for details.

Architectures

ArchitectureParams (M)GMACsInput sizePretrained weights
cpubone_b0_bfrobust10.37-2241
cpubone_b1_bfrobust12.44-2241
cpubone_b1_dwnorm12.43-2561
cpubone_b2_bfrobust23.87-2241
cpubone_b2pt5_dwnorm30.43-2561
cpubone_b340.74-2241
cpubone_nano6.52-2241
cpubone_s08.73-2241
cpubone_t07.54-2241

GMACs and parameter counts are for the default input size and classifier of each architecture, from the benchmark results.

Pretrained weights

Top-1 is ImageNet-1k validation accuracy from results-imagenet.csv at the listed eval size, - if the weight has no ImageNet-1k result (e.g. pretraining or image-text weights). Classes is the size of the pretrained classifier, none for weights without one.

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
cpubone_b0_bfrobust.r224_in1k224--1000-timm
cpubone_b1_bfrobust.r224_in1k224--1000-timm
cpubone_b1_dwnorm.timm_r256_in1k256--1000-timm
cpubone_b2_bfrobust.r224_in1k224--1000-timm
cpubone_b2pt5_dwnorm.timm_r256_in1k256--1000-timm
cpubone_b3.r224_in1k224--1000-timm
cpubone_nano.r224_in1k224--1000-timm
cpubone_s0.r224_in1k224--1000-timm
cpubone_t0.r224_in1k224--1000-timm
Update on GitHub