Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width50%
Panel
borderColor#CCCCCC
bgColor#FFFFFF
titleBGColor#F0F0F0
borderStylesolid
titleOn the page:

Table of Contents

Column

General information

It can take several minutes to launch neural analytics algorithms on NVIDIA Nvidia GPU after Server server restart. Meanwhile, the neural models are optimized for the current GPU type.

You can use the caching function to ensure that this operation is performed only once. Caching saves the optimization results on the hard drive and uses it for the subsequent analytics runs. 

Starting with DetectorPack 3.119, a utility was added to the Neuro Pack add-ons (see Installing DetectorPack add-ons), which allows you to create GPU neural network caches without using using Axxon One. The presence of the cache speeds up the initialization and optimizes video memory consumption.

Optimizing the operation of neural analytics on GPU

To optimize the operation of the neural analytics on GPU, do the following:

  1. Stop the

  2. Server
  3. server (see Starting and stopping the Axxon One Server in Linux OS).

    Note
    titleAttention!

    If the system has the software running on GPU, it is necessary to stop its operation.

  4. Login as

  5. root
  6. ngp superuser:

  7. Execute
    1. In the

  8. following
    1. command

  9. in
    1. prompt, run the

  10. terminal
    1. command:

      Code Block
      languagebash
      sudo su 
  11. -i
    1. ngp
    2. Enter the password for the root superuser.

  12. Create a folder with a custom name to store the cache. For example:

    Code Block
    languagebash
    mkdir /opt/AxxonSoft/AxxonOne/gpucache
  13. Change folder permissions:

    Code Block
    languagebash
    chmod -R 777 /opt/AxxonSoft/AxxonOne/gpucache
  14. Create the GPU_CACHE

  15. system
  16. _DIR system variable:

    1. Go to the /opt/AxxonSoft/AxxonOne/ folder:

      Code Block
      languagebash
      cd /opt/AxxonSoft/AxxonOne
    2. Open the instance.conf file for editing:

      Code Block
      languagebash
      nano instance.conf
    3. Add the following line to the file:

      Code Block
      languagebash
      export GPU_CACHE_DIR="/opt/AxxonSoft/AxxonOne/gpucache"
      Note
      titleAttention!

      If you change the server configuration (see Changing the configuration of the Axxon One Server in Linux OS) or update to a new version of Axxon One, the system variables previously added to the instance.conf file will be deleted (see Creating system variables in Linux OS).

    4. Save the file using the Ctrl+O keyboard shortcut.

    5. Exit file editing mode using the Ctrl+X keyboard shortcut.

  17. Execute
    1. Run the following command in the terminal:

      Code Block
      languagebash
      export GPU_CACHE_DIR="/opt/AxxonSoft/AxxonOne/gpucache"
  18. Go to the /opt/AxxonSoft/DetectorPack/ folder:

    Code Block
    languagebash
    cd /opt/AxxonSoft/DetectorPack
  19. Execute
  20. Run the following command:

    Code Block
    languagebash
    ./NeuroPackGpuCacheGenerator
    Note
    titleAttention!

    If more than one

  21. NVIDIA
  22. Nvidia GPU is available, you will be able to select one. To do this, specify a number from 0 to 3 which corresponds to the required device in the list.

Optimizing the operation of the neural analytics on analytics on GPU is complete. The utility will create the caches of four neural networks included in the Neuro Pack add-ons:

  • GeneralNMHuman_v1.0GPU_onnx.ann
  • —human
  • —person;
  • smokeScanned_v1_onnx
  • .ann—smoke
  • .ann (or bestSmoke_v1.ann starting with Detector Pack 3.14) —smoke detection;
  • fireScanned_v1_onnx.
  • ann—fire
  • ann (or bestFire_v1.ann starting with Detector Pack 3.14) —fire detection;
  • reid_15_0_256__osnetfpn_segmentation_noise_20_common_29_onnx.
  • ann—search
  • ann—search for the similar in
  • the
  • the Neural
  • Tracker
  • tracker (see
  • Image
  • Similitude search).

Creating GPU neural network caches using parameters

...

  1. -p is a parameter to create a cache for a particular neural network.
    Command example:

    Code Block
    ./NeuroPackGpuCacheGenerator -p /opt/AxxonSoft/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann
  2. -v is a parameter to output the procedure log to the console during cache generation.
    Command example to automatically create caches of four neural networks included in the Neuro Pack add-ons with log output:

    Code Block
    ./NeuroPackGpuCacheGenerator -v
  3. --int8=1 is a parameter to create a quantized version of the cache for those neural networks for which quantization is available. By default, the --int8=0 parameter is disabled.
    Command example:

    Code Block
    ./NeuroPackGpuCacheGenerator -p /opt/AxxonSoft/DetectorPack/NeuroSDK/GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann --int8=1
    Note
    titleAttention!

    The neural networks for which the quantization mode is available are included in the Neuro Pack add-ons together with the *.info file.


The neural networks for which the quantization mode is available (

...

see Neural trackerStopped object detectorNeural counter):

  • GeneralNMCar_v1.0GPU_onnx.ann

...

  • —Vehicle.
  • GeneralNMHuman_v1.0GPU_onnx.ann

...

  • —Person.
  • GeneralNMHumanTopView_v0.8GPU_onnx.

...

  • ann—Person (top-down view).

Starting with DetectorPack 3.11, the following neural networks were added:

  • GeneralNMHumanAndVehicle_Nano_v1.0_GPU_onnx.ann

...

  • —Person and vehicle (Nano).
  • GeneralNMHumanAndVehicle_Medium_v1.0_GPU_onnx.ann

...

  • —Person and vehicle (Medium).
  • GeneralNMHumanAndVehicle_Large_v1.0_GPU_onnx.ann

...

  • —Person and vehicle (Large).

Starting with DetectorPack 3.12, the following neural networks were added:

  • GeneralNMHumanTopView_Nano_v1.0_GPU_onnx.ann—Person (top-down view Nano).
  • GeneralNMHumanTopView_Medium_v1.0_GPU_onnx.ann—Person (top-down view Medium).
  • GeneralNMHumanTopView_Large_v1.0_GPU_onnx.ann—Person (top-down view Large).