O TensorFlow fornece uma API em C que pode ser usada para criar
vinculações para outras linguagens. A API é definida em
c_api.h
e projetada mais para simplificação e uniformização do que conveniência.
Pacotes noturnos do Libtensorflow para C
Os pacotes do Libtensorflow são criados durante a noite e enviados ao GCS para todas as plataformas suportadas. Eles são enviados ao bucket libtensorflow-nightly do GCS e são indexados por sistema operacional e data de criação. Para objetos compartilhados de MacOS e Linux, temos um script que renomeia os arquivos .so gerando versões com a data atual copiados para o diretório com os artefatos.
Plataformas suportadas
O TensorFlow para C é suportado nos seguintes sistemas:
- Linux, 64 bits, x86
- macOS, versão 10.12.6 (Sierra) ou mais recente
- Windows, 64 bits, x86
Configuração
Fazer o download
Biblioteca C do TensorFlow | URL |
---|---|
Linux | |
Somente CPU para Linux | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.6.0.tar.gz |
Suporte a GPU para Linux | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-2.6.0.tar.gz |
macOS | |
Somente CPU para macOS | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-2.6.0.tar.gz |
Windows | |
Somente CPU para Windows | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.6.0.zip |
Somente GPU para Windows | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.6.0.zip |
Extrair
Extraia o arquivo transferido por download, que contém os arquivos principais a serem incluídos em seu programa em C e as bibliotecas compartilhadas para vincular.
No Linux e no macOS, é recomendável extrair para /usr/local/lib
:
sudo tar -C /usr/local -xzf (downloaded file)
Vinculador
No Linux/macOS, se você extrair a biblioteca C do TensorFlow para um diretório do sistema,
como /usr/local
, configure o vinculador com ldconfig
:
sudo ldconfig
Se você extrair a biblioteca C do TensorFlow para um diretório que não seja do sistema, como
~/mydir
, configure as variáveis de ambiente do 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
Criar
Programa de exemplo
Com a biblioteca C do TensorFlow instalada, crie um programa de exemplo com o
seguinte código-fonte (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;
}
Compilar
Compile o programa de exemplo para criar um executável e execute:
gcc hello_tf.c -ltensorflow -o hello_tf
./hello_tf
O comando gera: Hello from TensorFlow C library version number
Se o programa não for criado, verifique se o gcc
tem acesso à biblioteca C do
TensorFlow. Se extraído para /usr/local
, transmita explicitamente o local da biblioteca para
o compilador:
gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow -o hello_tf
Criar a partir de código-fonte
O TensorFlow tem código aberto. Leia as instruções para criar a biblioteca C do TensorFlow a partir do código-fonte.