Coder Social home page Coder Social logo

liyancas / amdovx-modules Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gpuopen-professionalcompute-libraries/amdovx-modules

0.0 2.0 0.0 3.91 MB

AMD OpenVX modules: such as, neural network inference, 360 video stitching, etc.

CMake 0.74% QMake 0.05% Python 5.19% C++ 90.92% C 2.94% Objective-C 0.17%

amdovx-modules's Introduction

MIT licensed Build Status

AMD OpenVX modules (amdovx-modules)

The OpenVX framework provides a mechanism to add new vision functions to OpenVX by 3rd party vendors. This project has below OpenVX modules and utilities to extend amdovx-core project, which contains the AMD OpenVX Core Engine.

  • vx_nn: OpenVX neural network module
  • model_compiler: generate efficient inference library from pre-trained models (such as ONNX)
  • inference_generator: generate inference library from pre-trained CAFFE models
  • annInferenceServer: sample Inference Server
  • annInferenceApp: sample Inference Client Application
  • vx_loomsl: Radeon LOOM stitching library for live 360 degree video applications
  • loom_shell: an interpreter to prototype 360 degree video stitching applications using a script
  • vx_opencv: OpenVX module that implemented a mechanism to access OpenCV functionality as OpenVX kernels

If you're interested in Neural Network Inference, start with the sample inference application.

Inference Application Development Workflow Sample Inference Application
Block-Diagram-Inference-Workflow Block-Diagram-Inference-Sample

Refer to Wiki page for further details.

Pre-requisites

  • CPU: SSE4.1 or above CPU, 64-bit
  • GPU: Radeon Instinct or Vega Family of Products (16GB recommended)
    • Linux: install ROCm with OpenCL development kit
    • Windows: install the latest drivers and OpenCL SDK download
  • CMake 2.8 or newer download
  • Qt Creator for annInferenceApp
  • protobuf for inference_generator
    • install libprotobuf-dev and protobuf-compiler needed for vx_nn
  • OpenCV 3 (optional) download for vx_opencv
    • Set OpenCV_DIR environment variable to OpenCV/build folder

Refer to Wiki page for developer instructions.

Build using CMake on Linux (Ubuntu 16.04 64-bit) with ROCm

  • git clone, build and install other ROCm projects (using cmake and % make install) in the below order for vx_nn.
  • git clone this project using --recursive option so that correct branch of the amdovx-core project is cloned automatically in the deps folder.
  • build and install (using cmake and % make install)
    • executables will be placed in bin folder
    • libraries will be placed in lib folder
    • the installer will copy all executables into /opt/rocm/bin and libraries into /opt/rocm/lib
    • the installer also copies all the OpenVX and module header files into /opt/rocm/include folder
  • add the installed library path to LD_LIBRARY_PATH environment variable (default /opt/rocm/lib)
  • add the installed executable path to PATH environment variable (default /opt/rocm/bin)

Build annInferenceApp using Qt Creator

Build Radeon LOOM using Visual Studio Professional 2013 on 64-bit Windows 10/8.1/7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.