TensorFlow/Tensorflow Lite 6

Tensorflow Lite 실행하기(PC/C++)

Tensorflow Lite 실행하기(PC/C++) C++라이브러리를 빌드하는법은 여기를 참고해주세요! 이 글에서는 CMake를 사용해서 C++프로젝트를 빌드하였습니다. 1. CMake 프로젝트 생성 우선, CMake를 이용한 C++프로젝트를 생성합니다. CMakeLists.txt cmake_minimum_required(VERSION 3.5) project(20210829) set(CMAKE_CXX_STANDARD 14) add_executable(20210829 main.cpp) 2. Tensorflow Lite를 CMake 라이브러리로 만들기 여기에 Tensorflow Lite를 CMake 라이브러리로 연결을 해 볼 겁니다. 위 사진처럼 정석적인 CMake 라이브러리 구조를 만들어 줍니다. 이제 i..

Tensorflow Lite 를 C/C++로 빌드하기(bazel)

Tensorflow Lite 를 C/C++로 빌드하기(bazel) 1. Tensorflow Lite 다운로드 Tensorflow 공식 GitHub에 접속한 후, Release 탭에서 원하는 버전을 다운받습니다. https://github.com/tensorflow/tensorflow/releases Releases · tensorflow/tensorflow An Open Source Machine Learning Framework for Everyone - tensorflow/tensorflow github.com 여기서는 현재(2021.08.29)의 최신버전인 2.4.3을 사용하겠습니다. 제가 기억하기로는 1.X 부터 현재까지 빌드하는방법은 모두 동일한것으로 기억합니다. 혹시 본 글대로 했는데 에러가 ..

Android 에서 TensorFlow Lite 사용하기 (C/C++) - ( 2/2 )

Android 에서 TensorFlow Lite 사용하기 (C/C++) - ( 2/2 ) 1편: JNI 로 C++ 함수 호출하기 https://cppmagister.tistory.com/7 2편: Tensorflow Lite C++ 코드 연결하기 쓰다보니 내용이 상당히 많군요.. 이제 얼마 안남았으니 힘 내시길 바랍니다 ㅎㅎ 1. Tensorflow Lite C++ 연결 제가 편의를 위해 Tensorflow Lite C++ 라이브러리와 wrapper 를 미리 빌드해서 만들어놓은 repository가 있습니다(https://github.com/lackhole/Tensorflow-Lite) CPU, GPU, NNAPI 모두 가능하니 위 레포를 쓰는게 편하실겁니다 제가 주기적으로 업데이트를 하고 있으니, 원본..

Android 에서 TensorFlow Lite 사용하기 (C/C++) - ( 1/2 )

Android 에서 TensorFlow Lite 사용하기 (C/C++) 1편: JNI 로 C++ 함수 호출하기 2편: Tensorflow Lite C++ 코드 연결하기 https://cppmagister.tistory.com/22 Android 에서 Tensorflow Lite 를 이용하려면 Java를 사용할 수도 있지만, JNI 를 통해 C++ 에서도 마찬가지로 할 수 있습니다. C++에서 하게되면 모델을 숨기는 것이 좀 더 용이하고, 애초에 Tensorflow 가 C/C++ 로 배포되고 있기 때문이죠 이번 글에서는 JNI를 통해 C++로 Tensorflow Lite 를 사용하는 방법에 대해 알아보겠습니다. 1. NDK 설치 Android Studio 에서 새 프로젝트를 만든 후, NDK가 설치되어 있..

TensorFlow Lite 빌드하기(bazel & C/C++)

TensorFlow 는 Python이나 Java(Android)에서 사용할때는 참 간편합니다. Python에서는 pip 이나 conda 등등으로 바로 깔아주면 되고, Android 에서도 dependencies 에 몇 줄만 추가해주면 끝나는 일입니다. 근데 C나 C++, Objective-C를 사용하기 위해서는 무조건 라이브러리로 빌드 한 다음 사용해야 합니다. 물론 소스파일 통채로 때려넣고 컴파일해 버리는 방법도 있습니다. 통채로 컴파일 하는건 CPU만 사용할때는 그나마 간단합니다만, GPU나 NNAPI를 이용하려면 third party연결, NDK 연결 등등 작업이 필요하고, 애초에 proto를 이용한 compiled / generated 된 파일들을 참조하기에 그냥 bazel로 빌드 하는게 더 정신..

TensorFlow Lite로 모델 변환하기 (Python)

TensorFlow Lite 변환/build에 관한 전체 총정리 링크: 2020/04/05 - [TensorFlow] - TensorFlow Lite 사용하는법! TensorFlow Lite를 사용하려면 일단 기존의 모델을 TensorFlow Lite 모델로 변환해서 사용해야 합니다. TensorFlow Lite가 아직 최신기술(?)이다 보니, 구 버전의 TensorFlow(1.X)나 통합 이전의 keras를 이용해 만든 모델은 tflite 변환이 안되거나, 되더라도 Quantization 같은 최신 TensorFlow Lite 기능은 사용할 수 없습니다. 여기서는 어떻게 기존의 모델을 TensorFlow Lite 모델로 변환하는지 소개해 드리겠습니다. TensorFlow 2.0 ~ SavedModel ..