armnn | Arm NN ML Software | Machine Learning library

 by   ARM-software C++ Version: v23.05 License: MIT

kandi X-RAY | armnn Summary

kandi X-RAY | armnn Summary

armnn is a C++ library typically used in Artificial Intelligence, Machine Learning, Deep Learning, Tensorflow applications. armnn has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Depending on what kind of framework (Tensorflow Lite, ONNX) you've been using to create your model there are multiple software tools available within Arm NN that can serve your needs. Generally, there is a parser available for each supported framework. ArmNN-Parsers are C++ libraries that you can integrate into your application to load, optimize and execute your model. Each parser allows you to run models from one framework. If you would like to run an ONNX model you can make use of the Onnx-Parser. There also is a parser available for TfLite models but the preferred way to execute TfLite models is using our TfLite-Delegate. We also provide python bindings for our parsers and the Arm NN core. We call the result PyArmNN. Therefore your application can be conveniently written in either C++ using the "original" Arm NN library or in Python using PyArmNN. You can find tutorials on how to setup and use our parsers in our doxygen documentation. The latest version can be found in the wiki section of this repository. Arm NN's software toolkit comes with the TfLite Delegate which can be integrated into TfLite. TfLite will then delegate operations, that can be accelerated with Arm NN, to Arm NN. Every other operation will still be executed with the usual TfLite runtime. This is our recommended way to accelerate TfLite models. As with our parsers there are tutorials in our doxygen documentation that can be found in the wiki section. If you would like to use Arm NN on Android you can follow this guide which explains how to build Arm NN using the AndroidNDK. But you might also want to take a look at another repository which implements a hardware abstraction layer (HAL) for Android. The repository is called Android-NN-Driver and when integrated into Android it will automatically run neural networks with Arm NN.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              armnn has a medium active ecosystem.
              It has 994 star(s) with 294 fork(s). There are 90 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 17 open issues and 678 have been closed. On average issues are closed in 132 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of armnn is v23.05

            kandi-Quality Quality

              armnn has 0 bugs and 0 code smells.

            kandi-Security Security

              armnn has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              armnn code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              armnn is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              armnn releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 4697 lines of code, 399 functions and 68 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of armnn
            Get all kandi verified functions for this library.

            armnn Key Features

            No Key Features are available at this moment for armnn.

            armnn Examples and Code Snippets

            No Code Snippets are available at this moment for armnn.

            Community Discussions

            QUESTION

            Error using unique pointer from interface as attribute of a class
            Asked 2020-Jul-20 at 06:19

            In a nutshell, I need help with the right use of unique_ptr and not with the library ArmNN. So, the next paragraph is just for contextualization.

            I am adapting my current application to use the library ArmNN. More specifically, I am doing that through the use of the interface ICaffeParser.

            At line 22 of this interface, we have this using definition to define a unique_ptr to the interface, that I believe is the "cause" of my problems.

            ...

            ANSWER

            Answered 2020-Jul-20 at 06:19

            The error happens because myParser is actually being default-initialized and then assigned on the constructor body of MyClass::MyClass().

            Since a function pointer is passed as a custom deleter to std::unique_ptr to form the ICaffeParserPtr type, the default constructor for this particular instance of std::unique_ptr is disabled as per [unique.ptr.single.ctor].

            In other words, ICaffeParserPtr, for safety reasons, cannot be default-initialized — which specific function to otherwise assign as its deleter on initialization?

            To address this, you should always initialize class members at the member initializer list. In this case, initialize myParser as such:

            Source https://stackoverflow.com/questions/62984532

            QUESTION

            GLIBC error: Cross-compiling ARMNN on x86_64 (Ubuntu18.04) for ARM Cortex A9(Debian 9)
            Asked 2020-Mar-07 at 20:30

            I cross-compiled ARMNN for my ARM Cortex-A9 (Debian 9) device on my host system which is x86_64 (Ubuntu 18.04).

            I have successfully built ARMNN and all it's dependencies without any errors, but when I try to run the sample mnist on Cortex-A9, it gives the following error:

            ...

            ANSWER

            Answered 2020-Mar-07 at 20:30

            Here is a list of the possible options I can think of right now:

            1. run your application while having LD_LIBRARY_PATH pointing to a directory containing the arm glibc dynamic libraries(v2.27) copied from your x86_64 system - see this post.
            2. Re-compile your application on your target system, if possible, if your target system can use NFS for example,
            3. cross-compile a static version of your library/application, linking it using -static -static-libgcc -static-libstdc++ - see this post.
            4. use arm-linux-musleabihf-cross or one of his friends for cross-compiling a static version of your library/application if this did not work with gcc/g++ and glibc.
            5. run your application in a chrooted environment containing the arm dynamic libraries you linked your application with on the x86_64 system - see this post for more details,
            6. install docker on your Cortex-A9 system, and build a minimal debian/ubuntu docker image that contain a version of debian/ubuntu using glibc 2.27, along with your library and application, and execute the application in a container.

            Source https://stackoverflow.com/questions/60565849

            QUESTION

            problems building armNN with caffe parser support
            Asked 2020-Jan-15 at 18:40

            I have been at this for quite a while now. Mainly following this tutorial. I have built the dependencies in the versions required by the instructions the 2 main parts beeing boost and caffe (which both entail a host of other dependecies). I am running the entire thing on a fresh install of Ubuntu 19.10 (setup on a VM specifically for this project). When i reach building of the armNN library (instructions part "Building the environment", step 4) it fails at linking libarmnn.so at ~45% with the following error output:

            ...

            ANSWER

            Answered 2020-Jan-05 at 05:13

            You must have missed some dependencies. I will suggest you to just delete all thing and try to rebuild it and follow each step very carefully and when you are making armnn use make -j4 . you can replace 4 by no of cores you have. and keep opencl=0 embed_kernels=0 neon=1 so it will more easier.

            Source https://stackoverflow.com/questions/59567966

            QUESTION

            I am getting error while ndk build in android.mk file
            Asked 2020-Jan-09 at 09:09

            I am getting error during ndk build. I have only one android.mk file and only one Application.mk file in my project Android NDK: Trying to define local module 'protobuf' in /home/parag.j/AndroidArm//jni/Android.mk.
            Android NDK: But this module was already defined by /home/parag.j/AndroidArm//jni/Android.mk.

            Here is my Android.mk file

            ...

            ANSWER

            Answered 2020-Jan-09 at 09:09

            You forgot to (re)set LOCAL_MODULE for the last part of your makefile. I think the last few lines should be:

            Source https://stackoverflow.com/questions/59660321

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install armnn

            Arm NN uses the following security related build flags in their code:.

            Support

            The Arm NN project welcomes contributions. For more details on contributing to Arm NN see the Contributing page on the MLPlatform.org website, or see the Contributor Guide. Particularly if you'd like to implement your own backend next to our CPU, GPU and NPU backends there are guides for backend development: Backend development guide, Dynamic backend development guide.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link