You are here: Start » Deep Learning - Getting Started

Deep Learning - Getting Started

Contents

  1. Installation guide
  2. FabImage Deep Learning Library and Filters
  3. FabImage Deep Learning Service
  4. FabImage Deep Learning Examples
  5. FabImage Deep Learning Standalone Editor
  6. Logging
  7. Troubleshooting
  8. References

1. Installation guide

To use Deep Learning Filters, Library or Service with FabImage Studio or FabImage Library, a corresponding version of FabImage Deep Learning must be installed (the best idea is to use the newest versions of both from our website). Before installation, please check your hardware configuration.

Deep Learning is available in two versions:

  • GPU version (recommended) - version working with CUDA GPU acceleration. Much faster than CPU counterpart.
  • CPU version - uses only CPU, GPU is not required and used. Relatively slow, especially during training phase.

Requirements

  • Graphics card compatible with CUDA toolkit. List of compatible devices can be found on this website (all CUDA devices with "Compute Capability" greater than or equal 3.5 and less than or equal 8.6). Minimum 2 GB of graphic memory is recommended. Display Driver with at least 461.33 version is required (recommended latest display driver version).
  • Starting from version 5.4, tools supported in the new Service (right now Feature Detection, Anomaly Detection 2, Object Classification and Point Location are implemented, the rest of the tools will appear soon) support cards with "Compute Capability" equal 8.9.
  • At least 3.5 GB disk space for program files, SSD recommended.
  • At least 8 GB RAM memory.
  • 64-bit processor, Intel i5, i7 or better are recommended. AVX support is required.
  • Windows 10 or 11.

Known issues

If you are getting Access Denied errors during updating (or uninstalling), close all processes that may use previously installed Deep Learning files, like programs that need Deep Learning Library, FabImage Studio, FabImage Executor and so on.

2. FabImage Deep Learning Library and Filters

FabImage Deep Learning provides Filters for usage in FabImage Studio in 64-bit version. 32-bit version is not supported.

FabImage Deep Learning also provides Library (with Training Api) in 64-bit version (32-bit version is not supported). It is installed in Library subdirectory of main installation directory. It contains more subfolders:

  • bin/x64 – a directory containing DLL file (FILDL.dll) for 64-bit applications written in C++. This library is common for all supported versions of Microsoft Visual Studio and for Debug|Release configurations. This directory also contains FilDl.Net.dll file (along with its documentation in FilDl.Net.xml file), which is .Net wrapper for FILDL.dll.
  • include – a directory containing all header (.h) files for Library (FILDL.h) and Training Api (Api.h).
  • lib/x64 – a directory containing import library (FILDL.lib) for 64-bit applications. This file needs to be linked into a program that uses Library or Training Api as it serves as intermediary to FILDL.dll.

Installer sets environment variable named FILDL_PATH1_0 containing path to Library subdirectory. Exemplary use of FILDL_PATH1_0 is presented in C++ examples distributed with FabImage Deep Learning.

3. FabImage Deep Learning Service

The Service is installed into the Service subdirectory in the main installation directory. Upon launching the Service, a new icon should appear in the system tray.

Running filters does not require having the Service working in the background (in fact, this is even discouraged). On the other hand, training a model always requires running the Service, regardless of the tool used.

Please note: to open the Deep Learning Editor, place a relevant Deep Learning filter (FisFilter_DL_DetectFeatures, FisFilter_DL_ClassifyObject, FisFilter_DL_LocatePoints, FisFilter_DL_DetectAnomalies1, FisFilter_DL_LocateObjects, FisFilter_DL_DetectAnomalies2 or FisFilter_DL_SegmentInstances) in the Program Editor, enter its Properties and click on the icon next to the inModelId.ModelDirectory parameter.

Alternatively, to open the Deep Learning Editor from a DL_*_Deploy filter (FisFilter_DL_DetectFeatures_Deploy, FisFilter_DL_ClassifyObject_Deploy, FisFilter_DL_LocatePoints_Deploy, FisFilter_DL_DetectAnomalies1_Deploy, FisFilter_DL_LocateObjects_Deploy, FisFilter_DL_DetectAnomalies2_Deploy or FisFilter_DL_SegmentInstances_Deploy), enter its properties and click on the icon next to the inModelDirectory parameter.

In order to make a non-default graphics card the target device for model inference, you need to change its index in the settings.xml file in the UsedGPUIndex field. The file can be found at: %LocalAppData%\FabImage\FabImage Deep Learning 1.0. Alternatively, just click on the Open Log Directory button in the Deep Learning Service GUI to be redirected inside this folder.

The list of available graphics cards and their indexes is displayed in the Deep Learning Service GUI window.

4. FabImage Deep Learning Examples

Examples are installed only if corresponding component has been selected during installation.

Examples for FabImage Studio are installed into %ProgramData%/FabImage/FabImage Studio 1.0 Professional/Examples directory. It means that they are located next to other Studio examples, which simplifies opening them from Studio. All Deep Learning Examples are prefixed with "Deep Learning".

Examples using FabImage Deep Learning Library and Training Api are located in the Public Documents system folder (e.g. C:\Users\Public\Documents\FabImage Deep Learning 1.0\Examples on Windows 10). Shortcut to this directory can be found in the Start Menu after the installation.

5.FabImage Deep Learning Standalone Editor

Standalone Deep Learning comes in both runtime and professional version installers. It can be very useful to performing training on client site.

Standalone Editor can be executed using command line with following parameters:

DeepLearningEditor.exe path [--alwaysOnTop] [--disableChangingLocation] [--language "language-code"]

Where:

  • path - path to directory with Deep Learning model,
  • --alwaysOnTop (optional) - setting this flag does not allow Deep Learning Editor to be covered by other windows.
  • --disableChangingLocation (optional) - user cannot change the model path from the editor.
  • --language (optional) - language to be used in the editor. Possible values "en","de","ja","pl","zh_hans","zh_hant".

Standalone editor can be started using additional HMI controls or Execute filter.

6. Logging

Deep Learning Service and Filters logs some information during execution to several files, located at %LocalAppData%/FabImage/FabImage Deep Learning 1.0 directory. Total disk space used by these files should not exceed several MB. Files older than a couple of days are automatically deleted. More information are provided in the documentation of DL_ConfigureLogging filter.

If this disk space requirement is unacceptable, Service can be executed in "minimal logging" mode. This can be achieved by running run_service_minimal_logging.bat script, located at Service installation folder. Note, that it will not lead to any observable performance improvement.

See documentation for DL_ConfigureLogging function for an extended information about logging in Deep Learning Library.

7. Troubleshooting

Most common problems encountered by our clients can be separated into two groups:

  1. Problems with installed Nvidia drivers - most problems occurs during loading Deep Learning Filters into FabImage Studio.

    Most common error from the console log:

    Unable to load filter library "(...)FilDlFilters.dll". Win32 error: The specified procedure could not be found.
  2. Resources exhaustion during the training - training takes to much GPU/System memory that cannot be handled by current system. In such state your computer may lost stability and different problems my occur.

    Most common errors:

    Out of memory. Try freeing up hard disk space, using less training images, increasing downsample or resizing images to smaller ones. or Service disconnected.

Common reported problems and solutions:

  1. Invalid or old version of graphical card drivers - verify if your GPU card have supported version of drivers. It can be checked in Window's Control Panel.
  2. Corrupted installation of the GPUs drivers - verify if your GPU drivers are installed properly. In some cases full re-installation of Nvidia drivers may be necessary.

    Please verify if following files are found on your computer C:\Windows\System32\nvml.dll and C:\Windows\System32\nvcuda.dll.
  3. Deep Learning product version is too old for latest version of the latest FabImage Studio - Update Deep Learning to the latest version.
  4. Changes in environment PATH variable may affects how Deep Learning filters works - Remove all paths from PATH variable which may point to Nvidia CUDA runtime DLL. Please verify if command where cudnn_ops_infer64_8.dll returns no results.
  5. GPU card doesn't meet minimum software requirements - in some cases older GPU cards may encounter runtime problems during training or inference.

References

See also:

Previous: Creating Deep Learning Model Next: C++ Project Configuration