You are here: Start » C# Project Configuration

C# Project Configuration

  1. Installation
  2. GPU Dependencies
  3. Using FIL.NET

Installation

This document describes FabImage Deep Learning Library .NET only. For more information about FIL.NET see its documentation.

FabImage Deep Learning Library .NET is distributed as a NuGet packages containing managed 64-bit assemblies (*.dll) and part of the native dependencies.

Most of the FabImage Deep Learning Library packages target .NET Standard 2.0, making them compatible with most of the .NET implementations and with any operating system that supports the .NET runtime. In particular, supported operating systems include Windows 7+ and Linux, along with such .NET implementations as .NET Core 3.1+, .NET 5+, and most .NET Framework versions.

Only x64 platforms are supported.

The FabImage Deep Learning Library windows installer adds a local NuGet source containing all the necessary packages, thereby simplifying the use of FabImage Deep Learning in the client code to merely installing the selected NuGet packages. Available packages are as follows:

Package Contents
FilNet.DL.Cpu * FabImage Deep Learning functions for the CPU. Available only in the CPU version.
FilNet.DL.Gpu * FabImage Deep Learning functions for the GPU. Requires copying additional native dependencies from the installation directory. Available only in the GPU version.
FilNet.Types * FilNet type system
FilNet.Types.WinForms ** Tools specific to WinForms, both .NET Framework and .NET, such as those for converting to and from System.Drawing.Bitmap
* netstandard2.0 (.NET Standard 2.0)
** net48 (.NET Framework 4.8), net6.0-windows, net8.0-windows

It is not necessary to run the FabImage Deep Learning Service when using the FabImage Deep Learning Library for .NET; in fact, it is even discouraged.

GPU Dependencies

For the GPU version of the library, additional native dependencies must be independently copied to the application's output directory. The simplest way to accomplish this is by linking the dependencies and setting their "Copy to Output Directory" property to "Copy if newer". The necessary libraries are as follows:

  • %FILDL_PATH5_5%\Deps_x64\cublas64_11.dll
  • %FILDL_PATH5_5%\Deps_x64\cublasLt64_11.dll
  • %FILDL_PATH5_5%\Deps_x64\cudnn_cnn_infer64_8.dll
  • %FILDL_PATH5_5%\Deps_x64\cudnn_ops_infer64_8.dll
  • %FILDL_PATH5_5%\Deps_x64\cudart64_110.dll
  • %FILDL_PATH5_5%\Deps_x64\zlibwapi.dll

Using FIL.NET

In most cases, the application you create will also utilize FIL.NET. In such cases, ensure that the project setting Application | Auto-generate binding redirects is enabled. Additionally, the version of FIL.NET used should not be older than FilNet.DL, as this may lead to a CS1705 error.

Next: Function Reference