GraphCanon updated 2w · GitHub synced 2w
Decision brief
FeatherCNN is optimized for ARM CPUs and mobile devices, ensuring high-performance inference operations with minimal size.
Good fit when
- Targeting lightweight CNN inference on iOS or Android devices
- Development necessitates performance optimization on ARM CPUs
Avoid when
- Inference needs are primarily for x86 architecture systems
- Project requires extensive third-party dependency support
Observed Jul 16, 2026 · Source: enrich:decision_facts
Verify the decision
Maintenance and security
Full trust report- Maintenance
- Dormant (2506d since push)
- As of 2w
- Provenance
- Not a fork · Organization account
- As of 2w
- Security (OSV)
- No lockfile
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Install
git clone https://github.com/Tencent/FeatherCNNSimilar tools
Same-category neighbours. No typed graph edges are catalogued for this tool yet.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
FeatherCNN provides fast convolutional neural network inference optimized for ARM CPUs and mobile devices like iOS/Android systems.
Capability facts
- Languages
- c++
Source: github.language · Aug 4, 2026
Categories
Tags
README
Introduction
FeatherCNN is a high-performance lightweight CNN inference library, developed by Tencent AI Platform Department. FeatureCNN origins from our game AI project for King of Glory (Chinese: 王者荣耀), in which we aim to build a neural model for MOBA game AI and run it on mobile devices. FeatherCNN currently targets at ARM CPUs. We will extend it to cover other architecutures in the near future.
Comparing with other libraries, FeatherCNN has the following features:
-
High Performance FeatherCNN delivers state-of-the-art inference computing performance on a wide range of devices, including mobile phones (iOS/Android), embedded devices (Linux) as well as ARM-based servers (Linux).
-
Easy Deployment FeatherCNN packs everything in a single code base to get rid of third-party dependencies. Hence, it facilitates deployment on mobile platforms.
-
Featherweight The compiled FeatherCNN library is small-sized (hundreds of KBs).
Please kindly open an issue in this repo for bug reports and enhancement suggests. We are grateful to user responses and will actively polish this library.
Citation
FeatherCNN: Fast Inference Computation with TensorGEMM on ARM Architectures (TPDS September 2019, In press, DOI:10.1109/TPDS.2019.2939785)
Clone hints
The FeatherCNN repository has a heavy development history, please only clone the master branch as follows:
git clone -b master --single-branch https://github.com/tencent/FeatherCNN.git
Detailed Instructions for iOS/Android/Linux
Usage
Model Format Conversion
FeatherCNN accepts Caffemodels. It merges the structure file (.prototxt) and the weight file (.caffemodel) into a single binary model (.feathermodel). The convert tool requires protobuf, but you don't need them for the library.
Runtime Interfaces
The basic user interfaces are listed in feather/net.h. Currently we are using raw pointers to reference data. We may provide more convenient interfaces in the near future.
Before inference, FeatherCNN requires two steps to initialize the network.
feather::Net forward_net(num_threads);
forward_net.InitFromPath(FILE_PATH_TO_FEATHERMODEL);
The net can also be initialized with raw buffers and FILE pointers.
We can perform forward computation with raw float* buffer consequently.
forward_net.Forward(PTR_TO_YOUR_INPUT_DATA);
The output can be extracted from the net by the name of blobs. The blob names are kept consistent with caffe prototxt.
forward_net.ExtractBlob(PTR_TO_YOUR_OUTPUT_BUFFER, BLOB_NAME);
BTW, you can also get the blob's data size by calling
size_t data_size = 0;
forward_net.GetBlobDataSize(&data_size, BLOB_NAME);
Performance Benchmarks
We have tested FeatherCNN on a bunch of devices, see this page for details.
User Groups
Telegram: https://t.me/FeatherCNN
QQ: 728147343
For agents
This page has a .md twin and JSON over the API.