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.