It may take several minutes to launch neuroanalytics algorithms on NVIDIA GPU after Server restart. Meanwhile, the neuromodels 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.9, a utility was added to the Neuro Pack add-ons (see Installing DetectorPack add-ons), which allows you to create GPU network caches without using C-Werk. The presence of the cache speeds up the initialization and optimizes video memory consumption.
To optimize the operation of the neural analytics on GPU, do the following:
Stop the Server (see Shutting down a Server).
Attention!
If the system has the software running on GPU, it is necessary to stop its operation.
Create the GPU_CACHE_DIR system variable (see Appendix 10. Creating system variable) by specifying in the Variable value field the path to the cache location with an arbitrary folder name. For example, D:\GPU_cache. The specified directory will store the cache for all used detection tools and neural networks.
The cache size depends on the number of neural networks used and their type, the minimum size is 70 MB.
Attention!
This function works in beta mode for all detection tools which use neuroanalytics (see General information on Neural Analytics), except Face detection. To optimize Face detection operation using the GPU_CACHE_DIR system variable, you need to perform additional actions (see Optimizing the operation of Face detection on GPU).
To call the utility, open in the command line: C:\Program Files\Common Files\Grundig\DetectorPack\NeuroPackGpuCacheGenerator.exe and press Enter.
Optimizing the operation of the neural analytics on GPU is complete. The utility will create the caches of four networks included in the Neuro Pack add-ons:
Attention!
The cache must be recreated in the following cases:
Creating GPU network caches using parameters:
-p is a parameter to create a cache for a particular network.
Command example:
C:\Program Files\Common Files\Grundig\DetectorPack\NeuroPackGpuCacheGenerator.exe -p "<System disk>\<Network location directory>\Network_name.ann"
To create a cache for multiple networks, list the paths to the selected networks, separated by a space.
Command example:
C:\Program Files\Common Files\Grundig\DetectorPack\NeuroPackGpuCacheGenerator.exe -p "<System disk>\<Network location directory>\Network_name.ann" "C:\Program Files\Common Files\Grundig\DetectorPack\NeuroSDK\WaterLevelRuleNet_origin_onnx.ann"
-v is a parameter to output the procedure log to the console during cache generation.
Command example to automatically create caches of four networks included in the Neuro Pack add-ons with log output:
C:\Program Files\Common Files\Grundig\DetectorPack\NeuroPackGpuCacheGenerator.exe -v
Command example:
C:\Program Files\Common Files\Grundig\DetectorPack\NeuroPackGpuCacheGenerator.exe -p "<System disk>\<Network location directory>\Network_name.ann" -v
--int8=1 is a parameter to create a quantized version of the cache for those networks for which quantization is available. By default, the --int8=0 parameter is disabled.
Command example:
C:\Program Files\Common Files\Grundig\DetectorPack\NeuroPackGpuCacheGenerator.exe --int8=1
Attention!
The networks for which the quantization mode is available are included in the Neuro Pack add-ons together with the *.info file.
The networks for which the quantization mode is available (see Setting up Scene Analytics detection tools based on Neurotracker):
Starting with DetectorPack 3.11, the following networks were added: