A 1,200-star Tencent engine born from a MOBA game AI
FeatherCNN squeezes Caffe model inference onto ARM mobile devices with zero runtime dependencies and a binary under a megabyte.

What it does
FeatherCNN is a C++ inference engine for convolutional neural networks, built by Tencent’s AI Platform Department. It takes Caffe models—merging the .prototxt structure and .caffemodel weights into a single .feathermodel binary—and runs forward passes on ARM CPUs. The target is mobile: iOS, Android, embedded Linux, and ARM servers. You initialize a feather::Net, point it at a model file or raw buffer, then feed it float* data and pull outputs by blob name.
The interesting bit The project originated from King of Glory (王者荣耀), Tencent’s blockbuster MOBA. They needed game AI running neural models on phones, so they built an engine that ships as a single codebase with no third-party dependencies at runtime—just hundreds of KB compiled. The academic paper behind it, “Fast Inference Computation with TensorGEMM on ARM Architectures,” landed in TPDS in 2019.
Key highlights
- Converts Caffe models to a custom
.feathermodelformat; converter needs protobuf, runtime does not - Raw-pointer C++ API in
feather/net.hwith multi-threading support vianum_threads - Explicitly ARM-only for now; x86 or GPU support is listed as future work
- Single-branch master recommended due to “heavy development history”
- Active circa 2019 with Telegram and QQ user groups
Caveats
- The README warns of a messy git history; shallow clone is mandatory
- API currently uses raw pointers; “more convenient interfaces” are promised but not delivered in the docs shown
- Benchmarks exist on a wiki page, but no numbers are quoted in the README itself
Verdict Worth a look if you’re shipping Caffe-era models to ARM Android/iOS devices and need a tiny, dependency-free runtime. Skip it if you’re on x86, need ONNX/TensorFlow support, or want a modern, actively maintained stack—this appears to be a 2019-era project with limited recent evolution.