.. TruefaceSDK documentation master file, created by sphinx-quickstart on Mon Sep 16 22:16:39 2019. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. 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 ``SDK_VERSION`` 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. - `Alpha `_ - `Beta `_ - `Stable `_ 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++ ********** .. list-table:: :header-rows: 1 * - Target platform - SHA256 * - `C++ x86-64 CPU Linux `_ - ``SHA256_x86_cpu_linux_cpp...`` * - `C++ x86-64 GPU CUDA-10.1 Linux (Ubuntu) `_ - ``SHA256_x86_gpu_linux_cpp...`` * - `C++ x86-64 CPU macOS `_ - ``SHA256_x86_cpu_macos_cpp...`` * - `C++ x86-64 CPU Windows (Release, MT) `_ - ``SHA256_x86_cpu_windows_cpp...`` x86-64 Python bindings ********************** | **Python bindings Documentation** | Python bindings documentation can be found `here `_ .. list-table:: :header-rows: 1 * - Target platform - SHA256 * - `Python 3.6 64Bit CPU Linux `_ - ``SHA256_x86_cpu_linux_python3_6...`` * - `Python 3.6 64Bit GPU CUDA-10.1 Linux (Ubuntu) `_ - ``SHA256_x86_gpu_linux_python3_6...`` * - `Python 3.7 64Bit CPU Linux `_ - ``SHA256_x86_cpu_linux_python3_7...`` * - `Python 3.7 64Bit CPU macOS `_ - ``SHA256_x86_cpu_macos_python3_7...`` * - `Python 3.7 64Bit GPU CUDA-10.1 Linux (Ubuntu) `_ - ``SHA256_x86_gpu_linux_python3_7...`` * - `Python 3.8 64Bit CPU Linux `_ - ``SHA256_x86_cpu_linux_python3_8...`` * - `Python 3.8 64Bit CPU macOS `_ - ``SHA256_x86_cpu_macos_python3_8...`` * - `Python 3.8 64Bit GPU CUDA-10.1 Linux (Ubuntu) `_ - ``SHA256_x86_gpu_linux_python3_8...`` ARM C++ ******* .. list-table:: :header-rows: 1 * - Target platform - SHA256 * - `Aarch64 CPU Linux `_ - ``SHA256_aarch64_cpu_linux...`` * - `Arm32 CPU Linux `_ - ``SHA256_arm32_cpu_linux...`` ARM Python Bindings ******************* | **Python bindings Documentation** | Python bindings documentation can be found `here `_ .. list-table:: :header-rows: 1 * - Target platform - SHA256 * - `Python 3.6 64Bit CPU Linux Aarch64 `_ - ``SHA256_python36_aarch64...`` * - `Python 3.6 32Bit CPU Linux Arm32 `_ - ``SHA256_python36_arm32...`` * - `Python 3.7 64Bit CPU Linux Aarch64 `_ - ``SHA256_python37_aarch64...`` * - `Python 3.7 32Bit CPU Linux Arm32 `__ - ``SHA256_python37_arm32...`` Mobile ****** .. list-table:: :header-rows: 1 * - Target platform - SHA256 * - `Android `_ - N/A GPU SDK Dependencies ==================== While the CPU SDK is completely dependency free, the GPU SDK does have a few dependencies which must be installed. First, you must have CUDA 10.1 (runtime) installed on your Ubuntu device. Alternatively, you can use `this `_ docker image. The other required dependencies are: - ``libomp.so`` - ``libopenblas.so.0`` - ``libcudnn.so.7`` These can be installed by running the following commands: .. code-block:: bash apt-get install -y libomp-dev libopenblas-dev software-properties-common wget OS=ubuntu1804 wget https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/cuda-${OS}.pin mv cuda-${OS}.pin /etc/apt/preferences.d/cuda-repository-pin-600 apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/7fa2af80.pub add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/ /" apt-get update apt-get install -y libcudnn7 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. .. toctree:: :maxdepth: 2 :caption: C++ (Stable) - Contents: usage/general usage/license usage/image usage/face usage/identification usage/object usage/spoof usage/pose usage/liveness usage/mask usage/eyeglasses usage/environment usage/faq usage/changelog ./releases.rst * :ref:`genindex`