Solución:
Es seguramente posible usar la API C ++ de TensorFlow en Windows, pero actualmente no es muy fácil. En este momento, la forma más fácil de compilar contra la API de C ++ en Windows sería compilar con CMake y adaptar las reglas de CMake para el tf_tutorials_example_trainer
proyecto (ver el código fuente aquí). La compilación con CMake le brindará un proyecto de Visual Studio en el que puede implementar su programa C ++ TensorFlow.
Tenga en cuenta que el tf_tutorials_example_trainer
proyecto crea una aplicación de consola que enlaces estáticos todo el tiempo de ejecución de TensorFlow en su programa. En la actualidad no hemos escrito las reglas necesarias para crear una DLL de TensorFlow reutilizable, aunque esto sería técnicamente posible: por ejemplo, la extensión de Python es una DLL que incluye el tiempo de ejecución, pero no exporta los símbolos necesarios para usar C o C ++ de TensorFlow API directamente.
Hay una guía detallada de Joe Antognini y un archivo Léame de TensorFlow similar en GitHub que explica la creación de la fuente de TensorFlow a través de CMake. También necesita tener SWIG instalado en su máquina, lo que permite conectar la fuente C / C ++ con el lenguaje de programación Python. Usé Visual CMAKE (cmake-gui) con la captura de pantalla que se muestra a continuación.
En la configuración de CMake, utilicé el compilador de Visual Studio 15 2017. Una vez que esta etapa se complete con éxito, puede hacer clic en el botón Generar para continuar con el proceso de compilación real.
Sin embargo, en Visual Studio 2015, cuando intenté compilar a través del proyecto “ALL_BUILD”, la configuración me dio el error “No se pueden encontrar las herramientas de compilación para v141”. Esto no desapareció incluso cuando intenté reorientar mi solución. Finalmente, la solución se compiló con éxito con Visual Studio 2017. También debe configurar manualmente la ruta SWIG_EXECUTABLE en CMake antes de que se configure correctamente.
Como se indica en el enlace de Antognini, para mí la compilación tomó aproximadamente media hora en una máquina Core i7 de 16 GB de RAM. Una vez hecho esto, es posible que desee validar su compilación intentando ejecutar el archivo tf_tutorials_example_trainer.exe.
¡Espero que esto ayude!
Para conocer nuestro último trabajo sobre la creación de la API de TensorFlow C ++ en Windows, consulte esta página de github. Esto funciona en Windows 10, actualmente sin soporte CUDA (solo CPU).
PD: Solo funciona el método de compilación de bazel, porque CMake no es compatible y ya no se mantiene, lo que genera errores de configuración de CMake.