Installing Eocortex Neural Networks Standard package🔗

Warning

If the Face Recognition (Complete) module is used, the face databases will be automatically updated at the first start after updating Eocortex and the Eocortex Neural Networks package from version 3.3 or lower to version 3.4 or higher. It will take some time.

Warning

Since version 4.0, Eocortex uses PostgreSQL for all internal databases. When upgrading from earlier versions, it is recommended also to read the information about PostgreSQL installation.

Requirements and recommendations

Warning

Stable operation of the package is guaranteed only under the following operating systems:

  • Windows 10

  • Windows Server 2016

  • Ubuntu 20.04, 22.04

  • Debian 10, 11

  • CentOS 7

Workability of the package is not guaranteed when using other operating systems.

Minimum hardware requirements:

  • A processor that supports AVX instructions;

  • An NVIDIA video card (GPU) with the computation capacity index of at least 6.5 and with at least 4 Gb of memory; the parameters and performance of the video card must be similar or better than those of NVIDIA GTX 1650 Super model;

  • Version of the video card driver at least 460;

  • Swap file at least half of the total RAM size.

If the package will be installed on a virtual machine, it may additionally be required to:

  • Enable support for AVX instructions in the guest machine settings;

  • Use GRID drivers for GPU virtualization.

Note

Simultaneous use of several video cards for analyzing camera streams is acceptable. However, correct work of the analytics is possible only when using video cards that are identical to each other by their technical properties.

Warning

Eocortex must use video cards selected for running neural networks in monopoly mode. It is not allowed to use such card for other applications or tasks that consume GPU resources, including for displaying video. Simultaneous use of a video card for several tasks may lead to incorrect system operation: from analytics performance degradation to server instability.

Warning

Simultaneous execution of tasks of video displaying and analysis with the Face Recognition (Complete) or Unique Visitor Counting modules working on the ** Eocortex Neural Networks Standard** package can cause significant lags of face recognition processes when using graphics cards of GTX 10XX and GTX 16XX series with 4 GB of video memory or less. It is recommended to use dedicated graphics cards for these tasks.

Note

The package must be installed only on the computer with the Eocortex Server application. Moreover, this server should be the main one for cameras using neural network modules.

Pre-install preparations

The ** Eocortex Neural Networks Standard** package for Windows is not directly dependent on having the Eocortex Server application deployed on the computer at the installation moment. Applications can be installed in any order.

** Eocortex Neural Networks Standard** for Windows comes as a single installation package, containing neural networks for analysis both exclusively on the CPU and using the GPU. The choice of the analysis mode is made at the stage of the package installation.

If the analysis is planned to be performed only on the CPU, no additional preparation of the computer is required before installing the ** Eocortex Neural Networks Standard** package.

If the analysis is to be performed using the GPU, the latest graphics card driver package must be installed from the official NVIDIA website before installing the ** Eocortex Neural Networks Standard** package.

Warning

The graphics card drivers installed automatically with the OS have limited functionality and do not support GPU analysis.

Note

The most up-to-date version of Eocortex can be downloaded from the eocortex.com website at the Support / Software Installation Packages Supported page.

Regular installation of the package

Warning

The installation of the ** Eocortex Neural Networks Standard** package shall be performed under the account of the same user who will operate the application. If the application is to be launched by multiple users with different accounts, the installation must be performed for each of these users under his/her account.

Warning

Before installing the ** Eocortex Neural Networks Standard** package, close all Eocortex applications, including stopping the Eocortex Server application.

To install the ** Eocortex Neural Networks Standard** package, run the EocortexNeuralNetworksCommon Installer.exe file.

In the Select language window, choose the language that will be used during the installation and in the course of operating the software on the computer.

../_images/install-cctv-language.png

Note

If the ** Eocortex Neural Networks Standard** package has already been installed on this computer, the user will be recommended to remove the previous copy of the software. In case No is clicked, the installation will be aborted, and the previous copy will remain. If Yes is clicked, the previous copy will be deleted, and the ** Eocortex Neural Networks Standard** installation wizard window will open.

../_images/install-cctv-neunet-q-delete.png

If the ** Eocortex Neural Networks Standard** suite is being installed on the computer for the first time, the ** Eocortex Neural Networks Standard** installation wizard will open without interruptions.

Follow the wizard steps to proceed.

../_images/install-cctv-neunet-w-lic.png ../_images/install-cctv-neunet-w-folder.png ../_images/install-cctv-neunet-w-features.png ../_images/install-neunet-gpu.png ../_images/install-cctv-neunet-w-finish.png
Silent installation of the package

Starting from version 3.5, a silent installation of the ** Eocortex Neural Networks Standard** package is available.

Note

The term silent installation refers to the installation of software in automatic mode that does not require active participation of the user.

Warning

The silent installation of the ** Eocortex Neural Networks Standard** package should be performed under the administrator account.

Warning

The silent installation of the ** Eocortex Neural Networks Standard** package is available only under Windows.

Warning

All the components of the ** Eocortex Neural Networks Standard** package will be installed during the silent installation.

Warning

Before installing the ** Eocortex Neural Networks Standard** package, close all Eocortex applications, including stopping the Eocortex Server application.

To perform silent installation of the ** Eocortex Neural Networks Standard** package, run the EocortexNeuralNetworksCommon Installer.exe file with the /VERYSILENT key.

Example:

EocortexNeuralNetworksCommon Installer.exe /VERYSILENT

When the /LOG key is specified, information about the installation progress will be written to the file %User%\AppData\Local\Temp\Setup Log %Installation_Date% # % Random_number%.txt (for example, C:\Users\User\AppData\Local\Temp\Setup Log 2021-07-15 # 012.txt).

The /PostgreDbPath key can be used to specify the path to the PostgreSQL database.

Example:

EocortexNeuralNetworksCommon Installer.exe /VERYSILENT /PostgreDbPath="e:\int search"

Note

By default, PostgreSQL is installed to the C:\ProgramData\postgredb directory.

Example of installation path logging (when launching with the key /LOG):

2021-07-16 14:59:05.447 Path to the Search for Objects database PostgreSQL: C:\ProgramData\postgre

If PostgreSQL is already installed, it will be used for the ** Eocortex Neural Networks Standard** package components as well.

Example of installation path logging (when launching with the key /LOG):

2021-07-15 15:33:42.532 A PostgreSQL database has been found, which will be used to store the data of the Search for Objects module. Path to database: C:\Program Files\Eocortex Interactive Search\postgre
Pre-install preparations

The ** Eocortex Neural Networks Standard** package for Linux is directly dependent on the Eocortex Server application being deployed on the computer at the moment of the package installation. It is necessary to install Eocortex Server before installing the ** Eocortex Neural Networks Standard** package.

** Eocortex Neural Networks Standard** for Linux comes in two separate installation packages, containing neural networks for the required analysis mode — only on CPU or using GPU. The choice of analysis mode is made at the stage of downloading the installation package.

If the analysis is to be performed only on the CPU, no additional preparation of the computer is required before installing the strong.Application.NeuralNetworksStandard| package.

If the analysis is to be performed using the GPU, the latest graphics card driver package must be installed from the official NVIDIA website before installing the ** Eocortex Neural Networks Standard** package.

Warning

The Nouveau kernel module, which provides graphics support for Linux, is not suitable for GPU analysis.

Installation of graphics card driver

The following steps are necessary if the analysis is to be performed using the GPU. If it is planned to perform analysis only on the CPU, this step can be skipped.

The driver installation process may vary depending on your operating system. The instructions below are provided as an example, alternative installation methods can be found in the documentation for the selected operating system.

Warning

All actions must be performed as a user with administrator privileges.

  1. Find the appropriate driver package in the repository by running the command in the Terminal:

    sudo ubuntu-drivers devices
    
  2. Install the selected driver package:

    sudo apt install nvidia-driver-[version]
    

    Where nvidia-driver-[version] is the actual name of the package.

  3. Reboot the OS:

    sudo reboot
    
  4. Check that the drivers have been installed successfully:

    sudo lshw -c video
    
  5. Check that the graphic card is successfully initialized by the OS:

    sudo nvidia-smi
    
  1. Download the appropriate driver package from the NVIDIA official website.

  2. Install kernel header files:

    sudo apt-get install linux-headers-$(uname -r)
    
  3. Install the build-essentials metapackage:

    sudo apt-get install build-essential
    
  4. Deactivate the Nouveau module. Open the /etc/default/grub file with a text editor and add the following to the GRUB_CMDLINE_LINUX line:

    rd.driver.blacklist=nouveau nouveau.modeset=0
    
  5. Put the Nouveau module into the blacklist. Edit (or create) the /etc/modprobe.d/blacklist.conf file with a text editor, and add the line below to the end of it:

    blacklist nouveau
    
  6. Update the bootloader configuration by running the following command in the Terminal:

    sudo update-grub
    
  7. Update the file system image by running the following command in the Terminal:

    sudo update-initramfs -u
    
  8. If X server is enabled, disable GUI startup after reboot:

    sudo systemctl isolate multi-user.target
    
  9. Reboot the OS:

    sudo reboot
    
  10. Browse to the directory with the previously downloaded driver package.

  11. Grant the execution privileges to the previously downloaded package:

    chmod a+x NVIDIA-Linux-x86_64-[version].run
    

    Where NVIDIA-Linux-x86_64-[version] is the actual name of the package.

  12. Install the driver package:

    sudo ./NVIDIA-Linux-x86_64-[version].run
    

    Where NVIDIA-Linux-x86_64-[version] is the actual name of the package.

  13. Reboot the OS again:

    sudo reboot
    
  1. Download the appropriate driver package from the NVIDIA official website.

  2. Install kernel header files:

    sudo yum -y install kernel-devel
    
  3. Install the Development Tools metapackage:

    sudo yum -y groupinstall "Development Tools"
    
  4. Deactivate the Nouveau module. Open the /etc/default/grub file with a text editor and add the following to the GRUB_CMDLINE_LINUX line:

    rd.driver.blacklist=nouveau nouveau.modeset=0
    
  5. Put the Nouveau module into the blacklist. Edit (or create) the /etc/modprobe.d/blacklist.conf file with a text editor, and add the line below to the end of it:

    blacklist nouveau
    
  6. Update the bootloader configuration by running the following command in the Terminal:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    
  7. Update the file system image by running the following command in the Terminal:

    sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
    
  8. If X server is enabled, disable GUI startup after reboot:

    sudo systemctl isolate multi-user.target
    
  9. Reboot the OS:

    sudo reboot
    
  10. Browse to the directory with the previously downloaded driver package.

  11. Grant the execution privileges to the previously downloaded package:

    chmod a+x NVIDIA-Linux-x86_64-[version].run
    

    Where NVIDIA-Linux-x86_64-[version] is the actual name of the package.

  12. Install the driver package:

    sudo ./NVIDIA-Linux-x86_64-[version].run –kernel-source-path=/usr/src/kernels/{kernel_version}
    

    Where NVIDIA-Linux-x86_64-[version] is the actual name of the package and {kernel_version} is the actual OS kernel version.

  13. Reboot the OS again:

    sudo reboot
    
Installation of the package

** Eocortex Neural Networks Standard** for Linux comes in two separate installation packages:

  • eocortex-neural-networks-cpu is a neural network package designed to perform analysis using only CPU.

  • eocortex-neural-networks-gpu is a neural network package with the ability to use the GPU to perform analysis.

The eocortex-neural-networks-gpu-optimized package available in the repository belongs to the ** Eocortex Neural Networks Special**. This is a separate neural network package, installation of which is not required when deploying the ** Eocortex Neural Networks Standard** package.

Installation of the ** Eocortex Neural Networks Standard** package on Linux can be performed in two ways:

  • Online, when the installation package is fetched from the Eocortex repository along with all dependency packages. Requires Internet access on the computer.

  • Offline, when the installation package must be pre-downloaded from the Eocortex repository, and all dependency packages must be installed manually. Does not require Internet access on the computer.

Warning

Before installing the ** Eocortex Neural Networks Standard** package, ensure that the Eocortex Server application is installed on the computer.

  1. Stop the Eocortex Server application:

    sudo systemctl stop eocortex
    
  2. Run the installation of the selected neural network package with the corresponding command:

    Ubuntu/Debian, analysis only on CPU:

    sudo apt-get install eocortex-neural-networks-cpu
    

    Ubuntu/Debian, analysis using GPU:

    sudo apt-get install eocortex-neural-networks-gpu
    

    CentOS 7, analysis only on CPU:

    sudo yum install eocortex-neural-networks-cpu
    

    CentOS 7, analysis using GPU:

    sudo yum install eocortex-neural-networks-gpu
    
  3. Wait until installation is complete.

  4. Start the Eocortex Server application back:

    sudo systemctl start eocortex
    
  1. Make sure that all required dependency packages are installed on the computer:

    • cuda-license-11-0

    • cuda-cudart-11-0

    • cuda-cublas-11-0

    • cuda-cufft-11-0

    • cuda-curand-11-0

    • cuda-cusolver-11-0

    • cuda-cusparse-11-0

    • cuda-npp-11-0

    • cuda-nvgraph-11-0

    • cuda-nvjpeg-11-0

    • cuda-nvrtc-11-0

    • cuda-libraries-11-0

    If a dependency package is missing or its version does not match, download and install the missing package from the repository.

    Ubuntu/Debian:

    http://packages.eocortex.com/deb/public/pool/main/c/
    
    http://packages.eocortex.com/deb/public/pool/main/libc/
    
    http://packages.eocortex.com/deb/public/pool/main/libn/
    

    CentOS 7:

    http://packages.eocortex.com/rpm/
    
  2. Download the selected neural network package from the repository.

    Ubuntu/Debian, analysis only on CPU:

    http://packages.eocortex.com/deb/public/pool/main/e/eocortex-neural-networks-cpu/
    

    Ubuntu/Debian, analysis using GPU:

    http://packages.eocortex.com/deb/public/pool/main/e/eocortex-neural-networks-gpu/
    

    CentOS 7:

    http://packages.eocortex.com/rpm/
    
  3. Stop the Eocortex Server application:

    sudo systemctl stop eocortex
    
  4. Browse to the directory with the previously downloaded neural network package and run the installation.

    Ubuntu/Debian:

    dpkg -i eocortex-neural-networks-[type]_[version]_amd64.deb
    

    CentOS 7:

    yum install eocortex-neural-networks-[type]_[version]_amd64.deb
    

    Where [type] is the analysis mode (cpu or gpu) and [version] is the actual version of the package.

  5. Wait until installation is complete.

  6. Start the Eocortex Server application back:

    sudo systemctl start eocortex