DNNLibrary | Daquexian's NNAPI Library ONNX + Android NNAPI | Game Engine library

 by   JDAI-CV C++ Version: v0.9.0 License: Apache-2.0

kandi X-RAY | DNNLibrary Summary

kandi X-RAY | DNNLibrary Summary

DNNLibrary is a C++ library typically used in Gaming, Game Engine, Unity applications. DNNLibrary has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Android 8.1 introduces NNAPI. However, NNAPI is not friendly to normal Android developers. It is not designed to be used by normal developers directly. So I wrapped it into a library.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              DNNLibrary has a low active ecosystem.
              It has 333 star(s) with 57 fork(s). There are 24 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 18 open issues and 20 have been closed. On average issues are closed in 54 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of DNNLibrary is v0.9.0

            kandi-Quality Quality

              DNNLibrary has no bugs reported.

            kandi-Security Security

              DNNLibrary has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              DNNLibrary is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              DNNLibrary releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.

            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 DNNLibrary
            Get all kandi verified functions for this library.

            DNNLibrary Key Features

            No Key Features are available at this moment for DNNLibrary.

            DNNLibrary Examples and Code Snippets

            No Code Snippets are available at this moment for DNNLibrary.

            Community Discussions

            QUESTION

            Running GluonCV object detection model on Android
            Asked 2021-Mar-03 at 20:01

            I need to run a custom GluonCV object detection module on Android.

            I already fine-tuned the model (ssd_512_mobilenet1.0_custom) on a custom dataset, I tried running inference with it (loading the .params file produced during the training) and everything works perfectly on my computer. Now, I need to export this to Android.

            I was referring to this answer to figure out the procedure, there are 3 suggested options:

            1. You can use ONNX to convert models to other runtimes, for example [...] NNAPI for Android
            2. You can use TVM
            3. You can use SageMaker Neo + DLR runtime [...]

            Regarding the first one, I converted my model to ONNX. However, in order to use it with NNAPI, it is necessary to convert it to daq. In the repository, they provide a precomplied AppImage of onnx2daq to make the conversion, but the script returns an error. I checked the issues section, and they report that "It actually fails for all onnx object detection models".

            Then, I gave a try to DLR, since it's suggested to be the easiest way. As I understand, in order to use my custom model with DLR, I would first need to compile it with TVM (which also covers the second point mentioned in the linked post). In the repo, they provide a Docker image with some conversion scripts for different frameworks. I modified the 'compile_gluoncv.py' script, and now I have:

            ...

            ANSWER

            Answered 2021-Mar-03 at 10:33

            The error message is self-explanatory - there is no model "ssd_512_mobilenet1.0_custom" supported by mxnet.gluon.model_zoo.vision.get_model. You are confusing GluonCV's get_model with MXNet Gluon's get_model.

            Replace

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

            QUESTION

            UnsatisfiedLinkError on ANeuralNetworksModel_identifyInputsAndOutputs in NNAPI of Android 8.1 Preview
            Asked 2017-Dec-07 at 10:51

            I wrote a demo of NNAPI. But The app crashes with the error "java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol 'ANeuralNetworksModel_identifyInputsAndOutputs'". After I removed the line contains ANeuralNetworksModel_identifyInputsAndOutputs(and remains other lines about NNAPI, such as ANeuralNetworksModel_addOperation and so on), the app doesn't crash anymore.

            My minSdkVersion, compileSdkVersion, targetSdkVersion are all 27.

            Is it a bug, or just my fault? Could you please help me? Thanks in advance.

            Thanks to the excellent solution following, I have written an NNAPI wrapper Library and demo, and published it on GitHub, only four lines are needed to deploy a model on phone. I hope my project would help developers who interested in NNAPI

            ...

            ANSWER

            Answered 2017-Nov-01 at 18:20

            Unfortunately there was a change to the NN API that was requested just before the NDK launch that didn't make it into O MR 1 Beta 1 in time. In other words, the NDK is more up to date than the beta image. This will resolve itself when the next O beta (or the release? I'm not actually sure what the timeline is) launches.

            In the meantime, the name of that function in the beta is ANeuralNetworksModel_setInputsAndOutputs. Something like the following should work, and will let you know when you can remove the workaround (note: I haven't tested this because I don't have a device running the beta, so it may require some minor modifications).

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

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

            Vulnerabilities

            No vulnerabilities reported

            Install DNNLibrary

            You can download it from GitHub.

            Support

            Yes, but its support for NNAPI is far from perfect. For example, dilated convolution (which is widely used in segmentation) are not supported, prelu is also not supported. What's more, only the TensorFlow models can easily get converted to TensorFlow Lite model. Since NNAPI is independent of any frameworks, we support ONNX, a framework-independent model format. However we are also far from maturity comparing to TF Lite. At least we are an another choice if you want to enjoy the power of NNAPI :).
            Find more information at:

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

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/JDAI-CV/DNNLibrary.git

          • CLI

            gh repo clone JDAI-CV/DNNLibrary

          • sshUrl

            git@github.com:JDAI-CV/DNNLibrary.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Game Engine Libraries

            godot

            by godotengine

            phaser

            by photonstorm

            libgdx

            by libgdx

            aseprite

            by aseprite

            Babylon.js

            by BabylonJS

            Try Top Libraries by JDAI-CV

            fast-reid

            by JDAI-CVPython

            FaceX-Zoo

            by JDAI-CVPython

            dabnn

            by JDAI-CVC++

            DCL

            by JDAI-CVPython

            centerX

            by JDAI-CVPython