TensorFlow for C 설치

TensorFlow는 다른 언어에 대한 바인딩을 빌드하는 데 사용할 수 있는 C API를 제공합니다. 이 API는 c_api.h에서 정의되며 편리함보다 단순성과 통일성을 위해 설계되었습니다.

Nightly Libtensorflow C 패키지

Libtensorflow 패키지는 나이틀리로 빌드되며 지원되는 모든 플랫폼의 GCS에 업로드됩니다. libtensorflow-nightly GCS 버킷에 업로드되며 운영체제 및 빌드 날짜에 따라 색인이 생성됩니다. MacOS 및 Linux 공유 객체의 경우 아티팩트와 함께 디렉터리에 복사된 현재 날짜로 버전이 지정된 .so 파일의 이름을 바꾸는 스크립트가 있습니다.

지원되는 플랫폼

TensorFlow for C는 다음 시스템에서 지원됩니다.

  • Linux, 64비트, x86
  • macOS, 버전 10.12.6(Sierra) 이상
  • Windows, 64비트 x86

설정

다운로드

TensorFlow C 라이브러리URL
Linux
Linux CPU 전용 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.6.0.tar.gz
Linux GPU 지원 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-2.6.0.tar.gz
macOS
macOS CPU 전용 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-2.6.0.tar.gz
Windows
Windows CPU 전용 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.6.0.zip
Windows GPU 전용 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.6.0.zip

추출

C 프로그램에 포함할 헤더 파일 및 연결할 공유 라이브러리가 들어 있는 다운로드한 보관 파일을 추출합니다.

Linux와 macOS에서는 /usr/local/lib에 추출하는 것이 좋습니다.

sudo tar -C /usr/local -xzf (downloaded file)

링커

Linux/macOS에서는 TensorFlow C 라이브러리를 시스템 디렉터리(예: /usr/local)에 추출하는 경우 ldconfig를 사용하여 링커를 구성합니다.

sudo ldconfig

TensorFlow C 라이브러리를 시스템 디렉터리가 아닌 다른 디렉터리(예: ~/mydir)에 추출하는 경우 링커 환경 변수를 구성합니다.

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

빌드

예제 프로그램

TensorFlow C 라이브러리가 설치된 상태에서 다음 소스 코드(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;
}

컴파일

예제 프로그램을 컴파일하여 실행 파일을 만들고 다음을 실행합니다.

gcc hello_tf.c -ltensorflow -o hello_tf

./hello_tf

명령어 결과는 Hello from TensorFlow C library version number입니다.

프로그램이 빌드되지 않으면 gcc가 TensorFlow C 라이브러리에 액세스할 수 있는지 확인합니다. /usr/local에 추출한 경우 라이브러리 위치를 컴파일러에 명시적으로 전달합니다.

gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow -o hello_tf

소스에서 빌드

TensorFlow는 오픈소스입니다. 안내에 따라 소스 코드에서 TensorFlow의 C 라이브러리를 빌드합니다.