전체 글 45

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 ..

TensorFlow Lite 사용법 총정리! (C/C++, Java, Python, Android)

TensorFlow Lite 사용법 총정리! (C/C++, Java, Python, Android) 목차0. 글을 쓰게 된 계기 1. TensorFlow Lite 가 뭔가요?2. 기존 모델을 TensorFlow Lite 모델로 변환하기3. TensorFlow Lite를 빌드해보자4. TensorFlow Lite 사용법 총망라4-1. C / C++4-2. Python4-3. Android 0. 글을 쓰게 된 계기TensorFlow Lite를 Android에서 사용하는 법을 찾고 있었는데, 공식 문서의 부정확함 & 버그 & 영어로 구글링해도 잘 안나옴 등등으로 삽질을 한 3~4주간 했는데, 이에 다른 분들께 도움이 될까봐 이 문서를 남깁니다. 저도 엄청 전문가는 아니라서, 제가 겪어본 위주로 작성하였습니다...

TensorFlow 2020.04.05