Menoh is DNN inference library with C API.
Menoh is released under MIT License.
DISCLAIMER: Menoh is still experimental. Use it at your own risk. In particular not all operators in ONNX are supported, so please check whether the operators used in your model are supported. We have checked that VGG16 and ResNet50 models converted by onnx-chainer work fine.
This codebase contains C API and C++ API.
- DNN Inference with CPU
- ONNX support
- Easy to use.
- Chainer model to ONNX : onnx-chainer
- C# wrapper : menoh-sharp
- Go wrapper : go-menoh
- (unofficial wrapper gomenoh by kou-m san has been merged)
- Haskell wrapper : menoh-haskell
- Ruby wrapper : menoh-ruby
- Rust wrapper : menoh-rs
- There is also unofficial Rust wrapper by Y-Nak san
- [Unofficial] ROS interface by Akio Ochiai san : menoh_ros
- [Unofficial] OCaml wrapper by wkwkes san : Menohcaml
Installation using package manager or binary packages
- For Windows users, prebuild libraries are available (see release) and Nuget package is available.
- For macOS user, Homebrew tap repository is available.
Installation from source
- MKL-DNN Library (0.14 or later)
- Protocol Buffers (2.6.1 or later)
Execute below commands in root directory.
python retrieve_data.py mkdir build && cd build cmake .. make
Execute below command in build directory created at Build section.
Run VGG16 example
Execute below command in root directory.
Result is below
vgg16 example -22.3708 -34.4082 -10.218 24.2962 -0.252342 -8.004 -27.0804 -23.0728 -7.05607 16.1343 top 5 categories are 8 0.96132 n01514859 hen 7 0.0369939 n01514668 cock 86 0.00122795 n01807496 partridge 82 0.000225824 n01797886 ruffed grouse, partridge, Bonasa umbellus 97 3.83677e-05 n01847000 drake
--help option for details
Then, execute below commands in root directory.
python gen_test_data.py cd build cmake -DENABLE_TEST=ON .. make ./test/menoh_test.out
Current supported operators
Neural network connections
Menoh is released under MIT License. Please see the LICENSE file for details.
data/VGG16.onnx is generated by onnx-chainer from pre-trained model which is uploaded
That pre-trained model is released under Creative Commons Attribution License.