2016-06-28 13 views
9

Ich habe ein C++ Projekt eingerichtet in CLion, die CMake verwendet. Ich verwende verschiedene 3rd-Party-Bibliotheken und möchte auch Tensorflow integrieren.Verwenden Sie vorkompilierte Tensorflow mit cmake

Ich habe versucht bazelTensorflow zu einer gemeinsam genutzten Bibliothek libtensorflow.so, welche Art von gearbeitet aber es gibt immer noch ganz wenige Abhängigkeiten zu kompilieren (zB auf eine aktuelle Version protobuf und sobald ich tun, dass es mehr gibt), dass Ich müsste es reparieren.

Gibt es eine Möglichkeit, das Standard-Tensorflow Git-Repository zu verwenden und die Bibliotheken, die für die Python-Verwendung vorkompiliert sind, irgendwie zu verknüpfen? Oder gibt es einen anderen bequemen Weg?

Tensorflow in Python funktioniert gut für mich.

Antwort

4

Ich bin mir bewusst, diese Antwort ist ziemlich spät, aber ich stieß auf Ihr genaues Problem und war in der Lage, es zu lösen. Ich habe ein Repository erstellt here, das beschreibt, wie Sie genau das erreichen, was Sie wollen. Das Wesentliche ist:

  • Fügen Sie dem TensorFlow-Repository eine Erstellungsregel hinzu, die alle erforderlichen C++ - Elemente enthält.
  • Erstellen Sie die gemeinsam genutzte Bibliothek mit Bazel und kopieren Sie alle Header auf /usr/local.
  • Installieren Sie bestimmte Versionen von Protobuf und Eigen (dies wird automatisch mit Skripten getan) oder fügen Sie sie als externe Abhängigkeiten hinzu.
  • Konfigurieren Sie Ihr CMake-Projekt mit den angegebenen Dateien.
  • Wenn Sie Fragen oder Probleme haben, zögern Sie nicht, mich zu kontaktieren.

    +0

    Warum müssen wir die Dateien in die/usr/local? Kann ich meine Dateien einfach woanders hinstellen und Cmake stattdessen direkt finden? Danke für die Hilfe mit cmake – Pototo