Trueface SDK Reference - Stable

Welcome to the Trueface SDK. The SDK allows you to integrate Trueface’s AI models directly into your application while ensuring maximum performance and flexibility. Start by downloading the correct version of the SDK for your target platform and desired language. Next, refer to the General section for guidance on how to initialize the SDK.

Downloads

Stable release version 0.17.7722

Choosing Your Release Type

Alpha contains the absolute latest features (updated daily), but may also contain bugs. Beta contains fewer bugs while still having relatively new features. Stable will contain the fewest bugs but will take the longest to get new features. You will generally want to choose the Beta or Stable releases.

Note, if downloading the SDK in an automated manner (ex. building docker images) and you always require the latest SDK version, then replace the postfix in the download link (SDK version) with _latest.zip instead. So for example, https://reference.trueface.ai/cpp/staging/latest/uploads/truefaceSDK_v0.10.5483.zip would become https://reference.trueface.ai/cpp/staging/latest/uploads/truefaceSDK_latest.zip.

If you require a previous version of the documentation or SDK downloads, refer to the Previous Stable Releases tab on the left.

x86-64 C++

Target platform

SHA256

C++ x86-64 CPU Linux

415d07e6f0...

C++ x86-64 GPU CUDA-10.1 Linux (Ubuntu 18.04)

0e894f9a25...

C++ x86-64 CPU macOS

180153f84b...

C++ x86-64 CPU Windows (Release, MT)

1ade8da4f5...

x86-64 Python bindings

Python bindings Documentation
Python bindings documentation can be found here

Target platform

SHA256

Python 3.6 64Bit CPU Linux

afe3e9e8c9...

Python 3.6 64Bit GPU CUDA-10.1 Linux (Ubuntu 18.04)

28f5305be2...

Python 3.7 64Bit CPU Linux

74ca5ca259...

Python 3.7 64Bit CPU macOS

d6d25a75a1...

Python 3.7 64Bit GPU CUDA-10.1 Linux (Ubuntu 18.04)

60453a1f4d...

Python 3.8 64Bit CPU Linux

711a84b64b...

Python 3.8 64Bit CPU macOS

bc49d2577b...

Python 3.8 64Bit GPU CUDA-10.1 Linux (Ubuntu 18.04)

508dcb3745...

ARM C++

Target platform

SHA256

Aarch64 CPU Linux

d1ddc57f5f...

Arm32 CPU Linux

b430f4661f...

ARM Python Bindings

Python bindings Documentation
Python bindings documentation can be found here

Target platform

SHA256

Python 3.6 64Bit CPU Linux Aarch64

307cf92257...

Python 3.6 32Bit CPU Linux Arm32

197a8d16b9...

Python 3.7 64Bit CPU Linux Aarch64

bbb05c5654...

Python 3.7 32Bit CPU Linux Arm32

8d9eae86e6...

Mobile

Target platform

SHA256

Android

N/A

GPU SDK Dependencies

The GPU SDK currently only supports Ubuntu 18.04. While the CPU SDK is dependency free (only requires OpenMP for Linux and Windows), the GPU SDK does have a few dependencies which must be installed. First, you must have CUDA 10.1 (runtime) and cudnn7 installed on your Ubuntu device. Alternatively, you can use the nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04 docker image.

The other required dependencies are:

  • libomp.so

  • libopenblas.so.0

  • libcudnn.so.7

All the necessary runtime dependencies can be installed by running the following commands:

apt-get install -y libomp-dev libopenblas-dev software-properties-common wget
add-apt-repository ppa:graphics-drivers
apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'
apt update
apt install cuda-10-1
apt install libcudnn7
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Windows SDK

Our team does the majority of development and testing in a Linux environment. The Windows SDK may therefore contain more bugs than the other platform releases and may be lacking in a few features. The current known issues and limitations are as follows:

  • PostgreSQL database management system is currently not supported.

  • Any file including winerror.h must have #undef NO_ERROR as the NO_ERROR defined in winerror.h conflicts with Trueface::ErrorCodes::NO_ERROR.

As of this time, we are only supporting a release configured version of the library (and not a debug version). Additionally, the library has been built with /MT so be sure to set the flag appropriately.

Sample Apps

Sample Apps which demonstrate full working applications.

Reporting SDK Bugs and Documentation Errors

If you encounter a bug in the SDK, please send an email to support@trueface.ai. Please include at minimum the following:

  • SDK version

  • SDK target (ex. Python 3.7 64Bit CPU Linux)

  • Expected behaviour

  • Observed behaviour

  • A minimal reproducible code example showing how to replicate the bug

  • Any input images used

The more information you provide, the faster we can diagnose the issue and push out a fix.

If you happen to find a mistake (spelling, syntax error, etc.) in the latest Alpha, Beta, or Stable documentation, please email support@trueface.ai with a screenshot of the mistake, documentation version number (same as SDK version), and the release type (Alpha, Beta, or Stable). We will push out a fix as soon as we can.

C++ (Stable) - Contents: