Technical Overview
The timm/resnet18.a1_in1k model is a compact ResNet‑B backbone designed for image‑classification tasks. Built on the classic ResNet‑18 architecture, it has been trained on the ImageNet‑1k dataset using the ResNet Strikes Back A1 recipe (see arXiv:2110.00476). With only 11.7 M parameters and 1.8 GMACs per forward pass, it delivers a strong trade‑off between accuracy and compute cost, making it ideal for edge devices, rapid prototyping, and large‑scale inference pipelines.
Key features and capabilities
- ReLU activation throughout the network.
- Initial 7×7 convolution + max‑pooling layer for aggressive spatial reduction.
- 1×1 convolution shortcuts that enable residual connections without extra cost.
- Pre‑trained weights available in
timmandsafetensorsformat. - Supports three usage patterns: pure classification, feature‑map extraction, and embedding generation.
Architecture highlights
- Four residual stages with channel widths 64‑128‑256‑512.
- Each stage consists of two basic blocks (the “B” variant of ResNet‑18).
- Final global average pooling followed by a 1000‑class fully‑connected head (when
num_classes= 1000). - Training image size 224 × 224 (validation size 288 × 288) – the model can be evaluated at higher resolutions for a modest accuracy boost.
Intended use cases
- Fast image‑classification in production services where latency matters.
- Backbone for transfer learning on domain‑specific datasets (medical imaging, satellite imagery, etc.).
- Feature extraction for downstream tasks such as object detection, segmentation, or similarity search.
Benchmark Performance
Benchmarks for image‑classification backbones focus on top‑1/top‑5 accuracy, parameter count, FLOPs (GMACs), and inference throughput. The resnet18.a1_in1k model achieves the following on ImageNet‑1k (as reported in the timm model results):
- Top‑1 accuracy: ~69 % (standard 224 × 224 evaluation).
- Top‑5 accuracy: ~89 %.
- Parameters: 11.7 M.
- GMACs: 1.8.
- Activations: 2.5 M.
These numbers place the model comfortably between the classic ResNet‑18 baseline (≈70 % top‑1) and larger modern variants such as ResNet‑34 or EfficientNet‑B0, offering a low‑memory footprint while still delivering competitive accuracy. Compared to the heavyweight seresnextaa101d family (≈86 % top‑1, >90 GMACs), the ResNet‑18 A1 model runs >5× faster on the same hardware, making it a practical choice for real‑time applications.
Hardware Requirements
VRAM for inference
- ~200 MiB GPU memory for a single 224 × 224 image (including model weights and activations).
- ~350 MiB for a 288 × 288 evaluation, due to larger feature maps.
Recommended GPU
- Any modern NVIDIA GPU with ≥4 GB VRAM (e.g., GTX 1650, RTX 2060, Tesla T4).
- For batch inference, a GPU with ≥8 GB VRAM (RTX 3060, V100) can comfortably handle batch sizes of 32‑64.
CPU requirements
- Inference on CPU is feasible; expect ~30‑50 ms per image on a 2.5 GHz 8‑core processor.
- Enable
torch.backends.cudnn.benchmark = Truefor optimal performance on GPU.
Storage
- Model checkpoint size: ~45 MiB (safetensors) or ~50 MiB (PyTorch state_dict).
- Minimal additional storage needed for the
timmlibrary (~200 MiB).
Use Cases
Primary applications
- Real‑time image classification on mobile or embedded devices.
- Feature extraction for similarity‑search engines (e.g., product recommendation).
- Backbone for object detection frameworks such as Faster‑RCNN or YOLO‑v5.
- Pre‑training for domain‑specific fine‑tuning (medical scans, industrial defect detection).
Industry examples
- E‑commerce: Quickly tag product photos for cataloging.
- Manufacturing: Detect visual defects on assembly lines with low latency.
- Healthcare: Serve as a lightweight encoder for radiology image embeddings.
- Robotics: Enable on‑board scene understanding for navigation.
Integration possibilities
- Directly import via
timm.create_model('resnet18.a1_in1k', pretrained=True). - Wrap in a
torch.nn.Modulefor deployment with TorchServe or ONNX. - Combine with Hugging Face
transformerspipelines for unified multimodal workflows.
Training Details
Methodology
- Optimizer: LAMB – a large‑batch optimizer that scales well on ImageNet.
- Loss: Binary Cross‑Entropy (BCE) – used in the A1 recipe to improve convergence.
- Learning‑rate schedule: Cosine decay with warm‑up (typically 5 % of total steps).
- Training resolution: 224 × 224 (standard) with optional test‑time scaling to 288 × 288.
Dataset
- ImageNet‑1k (≈1.28 M training images, 50 k validation images).
Compute
- Trained on 8‑GPU NVIDIA V100 nodes for ~90 epochs (≈300 k steps).
- Estimated total FLOPs: ~2 EFLOPs (exascale) across the entire training run.
Fine‑tuning
- Model can be loaded with
features_only=Truefor backbone extraction. - Set
num_classes=0to drop the classifier and obtain raw embeddings. - Standard PyTorch fine‑tuning pipelines (freeze early layers, lower learning rate) work out‑of‑the‑box.
Licensing Information
The model card lists the license as unknown, but the accompanying tags include license:apache-2.0. In practice, the weights and code are distributed under the Apache 2.0 License, which is a permissive open‑source license.
- Commercial use: Allowed without royalty.
- Modification: You may adapt the model or fine‑tune it for proprietary projects.
- Redistribution: You can share the model, provided you retain the original copyright notice and license text.
- Attribution: Required – cite the original ResNet paper and the ResNet Strikes Back recipe (see Related Papers).
If the repository later clarifies a different license, users should comply with that license’s terms.