[C/C++][tensorflow] tensorflovw 1.x version 텐서플로우 C 예제

 

 

텐서플로우 C 예제
C언어에서 텐서플로우 API를 사용하는 방법에 대해서 설명드리도록 하겠습니다. 텐서플로우 라이브러리인 libtensorflow 다운로드 후 설치 방법과 예제 소스코드를 사용하여 빌드 후 실행하는 방법에 대해서 함께 설명드리도록 하겠습니다.

텐서플로우 C 예제

지원 환경

텐서플로우 c언어 API는 현재 아래의 플랫폼에서 지원되고 있습니다. 윈도우와 리눅스는 CPU 와 GPU버전을 모두 지원하고 있지만, macOS 환경에서는 CPU 버전만 지원되고 있습니다.

  • Linux, 64-bit, x86
  • macOS X, Version 10.12.6 (Sierra) or higher
  • Windows, 64-bit x86

텐서플로우(libtensorflow) 설치

다운로드

C언어에서 텐서플로우의 API를 사용하기 위해서는 먼저 헤더 파일과 라이브러리등을 설치해 주셔야 합니다. 최신 버전의 텐서플로우 라이브러리 파일인 libtensorflow는 아래 링크에서 다운 받으 실 수 있습니다.

Linux CPU only https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.14.0.tar.gz
Linux GPU support https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-1.14.0.tar.gz

위의 링크는 Linux 버전의 libtensorflow 파일입니다. 다른 버전의 라이브러리 파일을 다운 받기 위해서는 아래의 페이지를 참고해 주시기 바랍니다.

https://www.tensorflow.org/install/lang_c

압축 해제

Linux 또는 macOS 환경일 경우 다운로드 받은 파일을 아래와 같이 /usr/local 디렉터리에 압축 해제 합니다.

$ sudo tar -C /usr/local -xzf libtensorflow-cpu-linux-x86_64-1.14.0.tar.gz

C언어 헤더파일과 라이브러리 파일들이 압축해제 되게 됩니다.

Linker 설정

Linux 또는 macOS 환경에서 /usr/local 와 같은 시스템 디렉터리에 텐서플로우 라이브러리 파일을 압축해제 했을 경우 linker 를 설정하기 위해서 다음과 같은 명령어를 실행해 주시기 바랍니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

$ sudo ldconfig

만약 ~/mydir 와 같은 시스템 디렉터리가 아닌 위치에 libtensorflow 파일을 해제 했을 경우 아래와 같이 환경 변수를 설정해 주시기 바랍니다.

export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mydir/lib

텐서플로우 C 예제

다음과 같은 예제 소스코드를 생성하여, 빌드 후 실행해 보도록 하겠습니다. 파일이름은 hello.c 이라고 설정하도도록 하겠습니다.

#include <stdio.h>
#include <tensorflow/c/c_api.h>

int main() {
  printf("TensorFlow C library version %s\n", TF_Version());
  return 0;
}

소스코드 빌드, 실행

다음 명령어를 실행하여 소스코드를 빌드합니다.

$ gcc hello.c -ltensorflow -o hello

만약 위의 명령어로 소스코드가 빌드가 되지 않는 다으면, 다음과 같이 헤더 파일과 라이브러리 디렉터리를 명시적으로 지정하면서 빌드 하실 수도 있습니다.

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

빌드가 성공적으로 이뤄지게 되면 hello 파일이 생성됩니다. 생성된 hello 파일을 실행하면 다음과 같이 Tensorflow 버전이 출력되는 것을 확인 할 수 있습니다.

텐서플로우 C 예제

텐서플로우 C API와 관련된 보다 자세한 내용은 아래의 페이지를 참고해 주시기 바랍니다.

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/c/c_api.h

[출처] https://hiseon.me/data-analytics/tensorflow/tensorflow-c-api/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
31 [docker] [Oracle] docker에 Oracle 11g 설치하기 file 졸리운_곰 2022.11.26 15
30 [docker][도커] 로컬 개발환경 Docker 사용하기 file 졸리운_곰 2021.10.16 14
29 [Docker][도커] docker 이미지 및 컨테이너 관리 명령어 정리 file 졸리운_곰 2021.08.29 10
28 [docker][도커] 컨테이너 시작, 중지, 재시작 졸리운_곰 2021.08.29 9
27 [DOCKER] 도커_컨테이너 생성, 시작, 정지 file 졸리운_곰 2021.08.15 11
26 [쿠버네티스][Kubernetes] Helm 사용법 file 졸리운_곰 2021.07.19 27
25 [MSA][Docker][Kubernetes] [Kubernetes] 윈도우10에 도커, 쿠버네티스 설치 (docker desktop) file 졸리운_곰 2021.05.23 32
24 [MSA] [Docker] Docker File을 이용하여 Docker Image만들기 file 졸리운_곰 2021.04.27 28
23 [MSA][Docker] Docker 개념, 관리, 이미지생성까지 한번에!! file 졸리운_곰 2021.04.27 64
22 [MSA] 서비스 경량화를 위한 MSA 설계 시 고려사항 file 졸리운_곰 2021.03.21 72
21 [MSA][Docker] 효율적인 도커 이미지 만들기 #2 - 도커 레이어 캐슁을 통한 빌드/배포 속도 높이기 file 졸리운_곰 2021.03.21 22
20 [MSA][Docker] 효율적인 도커 이미지 만들기 #1 - 작은 도커 이미지 file 졸리운_곰 2021.03.21 25
19 [MSA] 오픈소스 모니터링 툴 - Prometheus #3 그라파나를 이용한 시각화 file 졸리운_곰 2021.03.21 186
18 [MSA] 오픈소스 모니터링 툴 - Prometheus #2 Hello Prometheus file 졸리운_곰 2021.03.21 27
17 [MSA] 오픈소스 모니터링툴 - Prometheus #1 기본 개념과 구조 file 졸리운_곰 2021.03.21 68
16 [MSA] API 게이트 웨이 & Google Cloud Endpoints file 졸리운_곰 2021.03.21 26
15 [MSA] Kong API gateway #3 - Kong on Kubernetes file 졸리운_곰 2021.03.21 45
14 [MSA] Kong API gateway #2 - 간단한 아키텍쳐와 API 테스트 file 졸리운_곰 2021.03.21 34
13 [MSA] Kong API gateway #1 - 설치와 둘러보기 file 졸리운_곰 2021.03.21 166
12 [MSA] Istio Traffic management file 졸리운_곰 2021.03.21 26
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED