Entw.: Tensorflow - API (2)

Installation

TensorFlow benötigt grundsätzlich das Python-Programmsystem. Die Installation von Python steht daher an erster Stelle. Ist das Python-System noch nicht installiert, so kann das Installationprogramm von dieser Download-Adresse https://www.python.org/downloads/ geladen werden. Empfohlen wird die 64-bit-Version 3.6.x.
In der Environment-Variable PATH ist das Python-Installationverzeichnis (z.B. C:\Python\Python36) und das Unterverzeichnis Scripts (z.B. C:\Python\Python36\Scripts) einzutragen.

Im Unterverzeichnis Scripts befindet sich das Python-Installationsprogramm pip3. Über das CMD-Fenster lässt sich pip3 aufrufen und Tensorflow in Python installieren.
pip3 install --upgrade tensorflow

Es gibt 3 Möglichkeiten, um an die C-Programmierschnittstelle in Form einer DLL zu kommen:

  1. Download der Installationsdatei tensorflow-xxx-cp35-cp35m-win_amd64.whl von GIT-Repository mit Installations-Binaries. Anschliessend muss diese Datei tensorflow-xxx-cp35-cp35m-win_amd64.whl entpackt (z.B. mit 7-zip) werden. Die benötigte DLL-Datei _pywrap_tensorflow_internal.pyd befindet im Unterverzeichnis ...\purelib\tensorflow\python. Diese Datei ist zu kopieren und in tensorflow.dll umzubenennen.

  2. Nach der Installation von Tensorflow in Python mit pip3 befindet sich die DLL _pywrap_tensorflow_internal.pyd im folgenden Unterverzeichnis der Installation: Lib\site-packages\tensorflow\python. Auch hier ist die Datei zu kopieren und umzubenennen.

  3. Viele Source-Dateien werden zur Compile-Zeit generiert. Zur Pflege und eigene Erweiterungen der C-API ist es deshalb notwendig, die GIT-Repository https://github.com/tensorflow/tensorflow zu clonen. Das Clonen kann über Visual Studio 14 2015 erfolgen. Anschließend sind mit cmake die Visual Studio-Projektdateien zu erzeugen. Die benötigte DLL wird anschliessend über den Build-Prozess innerhalb von Visual Studio generiert. In Python wird noch die Bibliothek numPy benötigt. Dazu im CMD-Fenster folgendes Kommando absetzen: pip3 install --upgrade numpy

Tensorflow: Generierungsprozess mit cmakeCardview

Der Download von cmake kann über den Link https://cmake.org/files/ erfolgen. Benötigt wird die Version 3.6.3. Vor dem Generierungsprozess mit cmake ist zur Integration von C/C++ in Python swig zu installieren. Der Pfad nach swig ist im cmake-Builder (cmake-gui.exe) manuell zu setzen. Zu beachten sind die Konfigurationen im Bild.

Nach dem Generierungsprozess mit cmake sind alle Binaries über Visual Studio 14 2015 zu erzeugen, dazu ist die Solution-Datei tensorflow.sln zu öffnen. Es reicht die kostenfreie Express-Version von Visual Studio. Zu empfehlen ist die Erzeugung der Release-Version. Die Debug-Version benötigt ca. 400 GB Speicherplatz. Zu einzelnen Binaries lassen sich jederzeit Debug-Versionen erzeugen. Die DEF-Datei tensorflow.def wird im Visual Studio über ...\Git_Build\tensorflow_static.vcxproj und die DLL-Datei tensorflow.dll über ...\Git_Build\tensorflow.vcxproj erzeugt. Die C-Source c_api.cc als eigentliche C-Schnittstelle wird kompiliert mit tf_c.vcxproj oder tf_test_lib.vcxproj.