fvcore is a lightweight utility library that factors out common performance-minded components used across Facebook/Meta computer-vision codebases. It provides numerics and loss layers (e.g., focal loss, smooth-L1, IoU/GIoU) implemented for speed and clarity, along with initialization helpers and normalization layers for building PyTorch models. Its common modules include timers, logging, checkpoints, registry patterns, and configuration helpers that reduce boilerplate in research code. A standout capability is FLOP and activation counting, which analyzes arbitrary PyTorch graphs to report cost by operator and by module for precise profiling. The file I/O layer (PathManager) abstracts local/remote storage so the same code can read from disks, cloud buckets, or HTTP endpoints. Because it is small, stable, and well-tested, fvcore is frequently imported by projects like Detectron2 and PyTorchVideo to avoid duplicating infrastructure and to keep research repos.
Features
- Fast PyTorch losses and layers commonly used in detection and segmentation
- FLOP and activation analysis tools for detailed computational profiling
- Checkpoint, logging, timing, and registry utilities for clean training loops
- PathManager abstraction for uniform local and remote file I/O
- Weight initialization helpers and normalization utilities
- Small, modular design that’s easy to cherry-pick into research projects