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.