TensorFlow proporciona una API para C que se puede usar a la hora de compilar vinculaciones con otros lenguajes. La API está definida en c_api.h
y se diseñó para ofrecer simpleza y uniformidad más que conveniencia.
Paquetes C de Nightly Libtensorflow
Los paquetes de Libtensorflow se compilan durante la noche y se suben a GCS para todas las plataformas compatibles. Se cargan en el depósito de GCS ibtensorflow-nightly y se indexan por sistema operativo y fecha de compilación. Para el caso de los objetos compartidos de macOS y Linux, tenemos una secuencia de comandos que cambia el nombre de los archivos .so a versiones con la fecha actual y los copia en el directorio con los artefactos.
Plataformas compatibles
TensorFlow para C es compatible con los siguientes sistemas:
- Linux, 64 bits, x86
- macOS, versión 10.12.6 (Sierra) o versiones posteriores
- Windows, 64 bits, x86
Configuración
Descarga
Biblioteca de TensorFlow para C | URL |
---|---|
Linux | |
Solo para CPU con Linux | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.6.0.tar.gz |
Compatibilidad con GPU en Linux | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-2.6.0.tar.gz |
macOS | |
Solo para CPU con macOS | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-2.6.0.tar.gz |
Windows | |
Solo para CPU con Windows | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.6.0.zip |
Solo para GPU con Windows | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.6.0.zip |
Extrae
Extrae el archivo descargado, que contiene los archivos de encabezado que se incluirán en tu programa C y las bibliotecas compartidas con las que se vinculará.
En Linux y macOS, es posible que quieras extraer en /usr/local/lib
:
sudo tar -C /usr/local -xzf (downloaded file)
Vinculador
En Linux o macOS, si extraes la biblioteca C de TensorFlow en un directorio del sistema, como /usr/local
, configura el vinculador con ldconfig
:
sudo ldconfig
Si extraes la biblioteca C de TensorFlow en un directorio que no sea del sistema, como ~/mydir
, configura las variables de entorno del vinculador:
Linux
export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mydir/lib
macOS
export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:~/mydir/lib
Crea
Programa de ejemplo
Con la biblioteca de TensorFlow para C instalada, crea un programa de ejemplo con el siguiente código fuente (hello_tf.c
):
#include <stdio.h>
#include <tensorflow/c/c_api.h>
int main() {
printf("Hello from TensorFlow C library version %s\n", TF_Version());
return 0;
}
Compila
Compila el programa de ejemplo para crear un archivo ejecutable. Luego, ejecuta lo siguiente:
gcc hello_tf.c -ltensorflow -o hello_tf
./hello_tf
El resultado del comando es el siguiente: Hello from TensorFlow C library version number
Si el programa no se compila, asegúrate de que gcc
pueda acceder a la biblioteca de TensorFlow para C. Si se extrae en /usr/local
, asegúrate de pasar explícitamente la ubicación de la biblioteca al compilador:
gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow -o hello_tf
Compila a partir de código fuente
TensorFlow es de código abierto. Lee las instrucciones para compilar la biblioteca de TensorFlow para C con el código fuente.