no image
[TFLite] TensorFlow Lite 개념
TensorFlow Lite 개념 TensorFlow Lite는 모바일과 IoT 기기에 딥러닝 모델을 배포하고 추론하기 위해 구글에서 만든 라이브러리이다. 간단히 말하자면, TFLite를 이용하여 TensorFlow 모델을 안드로이드, iOS, 임베디드 기기에서 사용할 수 있도록 모델을 변환할 수 있다. 이러한 기기에서 사용하기 위해서는 컴퓨팅 리소스가 제한적이기 때문에 이를 위해 TFLite는 모델을 경량화해준다고 보면 된다. TFLite는 모델을 변환하는 Converter와 변환된 모델을 실제로 동작시키는 Interpreter로 이루어져있다. Converter는 파이썬 개발환경에서 사용하고, Interpreter는 사용하려는 기기와 동일한 환경에서 사용된다. 그리고 중요한 특징 중 하나는 양자화를 지..
2023.01.18
no image
[TensorFlow Lite] MobileNet v1 모델의 tflite 파일 구조
https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md GitHub - tensorflow/models: Models and examples built with TensorFlow Models and examples built with TensorFlow. Contribute to tensorflow/models development by creating an account on GitHub. github.com 위 GitHub 에서 다운 받은 mobilenet_v1_1.0_224_quantized_1_metadata_1.tflite 을 netron 에서 확인해보았다. 아래와 같이 구성되어 있으며, type이 ..
2022.02.23
no image
[TensorFlow] Windows 환경에서 TensorFlow 1.14 버전 Bazel 빌드하기 with C++
환경구축 [설치되었다고 가정] Windows 10 CUDA 10.0 / cuDNN 7.5.0 Visual Studio 2015 Microsoft Visual C++ 2015 Redistributable (x86 and x64) 14.0.24215 Microsoft Build Tools 2015 Update 3 [포스팅에서 설치할 것] TensorFlow 1.14 MSYS2 Bazel 0.25.0 Python3.6 ( TensorFlow 빌드 종속성 때문에 설치하는 것) 1. Python 다운로드 TensorFlow 를 소스 빌드 하기 위해서는 Python Dependency 가 필요하기 때문에 Python 을 설치한다. Python 버전은 3.5.x 또는 3.6.x 버전 64비트 이면 상관 없다. htt..
2019.12.18
no image
[TensorFlow] TensorFlow 소스 빌드 (Ubuntu 16.04 + GPU + CUDA 10.0 + python + cuDNN 7.3.1)
Python 공식 홈페이지에서 제공하는 우분투 환경에서 파이썬을 사용하기 위해 CUDA 10.0 버전을 기반으로 TensorFlow 를 소스빌드 하는 과정에 대한 포스팅이다. 참고로 윈도우 환경에서 소스빌드 하고 싶다면 아래 링크 참고 https://www.pytorials.com/install-tensorflow-gpu-windows/ 참고로 공식적으로 빌드된 pip 패키지를 통해서 다운 받고 싶다면 아래 명령어 실행 $ pip install tensorflow TensorFlow 를 직접 소스 빌드하는 방법은 아래와 같다. 구성환경 TensorFlow 1.12 GPU version CUDA 10.0 cuDNN 7.3.1 Computer Capability > 3.0 64 bit Python (32 b..
2019.10.18
[TensorFlow] Graph 에서 dropout 을 제거하는 방법
흔히들 드롭 아웃을 적용하여 네트워크를 설계하는데 다른 플랫폼에서 고정된 그래프를 사용하고자 할 때 다음과 같은 오류가 발생한다고 한다. Invalid argument: No OpKernel was registered to support Op 'RandomUniform' with these attrs. Registered devices: [CPU], Registered kernels: [[Node: dropout/random_uniform/RandomUniform = RandomUniform[T=DT_INT32, dtype=DT_FLOAT, seed=0, seed2=0](dropout/Shape)]] 이 때 만들어진 pb 파일을 이용하여 드롭 아웃을 제거하는 과정을 거친다. How to remove dr..
2019.08.03
[TensorFlow] .ckpt vs .pb vs .pbtxt 차이점
간단하게 말하자면 아래와 같다. ckpt 파일 모델의 변수(가중치)인 체크포인트 파일 pb 파일 모델의 변수 + 구조 (즉, 전체 그래프) 로 이루어진 바이너리 파일 pbtxt 파일 pb 파일을 읽을 수 있는 텍스트 파일, 즉 모델 구조 파악 가능 더욱 자세히 말하자면 아래와 같다 ... ckpt 파일 텐서플로우에서 학습된 모델의 구조를 제외한 변수들을 담고 있는 파일이다. 즉, 모델의 가중치만 담고있는 파일이다. 그래서 모델에 대한 메타정보를 담고있기 때문에 재학습이 가능하다는 특징이 있다. 하지만, 실제 모델을 돌릴 때 필요 없는 정보들이 너무 많아서 파일의 크기가 무겁다는 단점이 있다. 체크포인트의 저장은 다음과 같이 이루어지며, iteration 별로 체크포인트 파일을 생성 할 수 있다. #/mo..
2019.08.03
[TensorFlow] 함수 내부에서 TensorFlow Graph 실행하기
텐서플로우 내부에서 코드를 예쁘게 구조화 하여 그래프(Graph)를 실행할 수 있다. 구현할 때, 몇가지 방법이 있다. 1. Tensor 이름 전달하기 with tf.Session(graph=graph) as sess: feed = {"Placeholder:0": 3} print(sess.run("Add:0", feed_dict=feed)) 위와 같이 Placeholder:0 이라는 텐서 자체를 feed 에 넘겨주는 것 대신, def build_graph(): g = tf.Graph() with g.as_default(): a = tf.placeholder(tf.int8, name="a") b = tf.add(a, tf.constant(1, dtype=tf.int8), name="b") return g ..
2019.08.03
no image
[TensorFlow] pb 파일 TensorBoard에 띄우기 (TF 1.x 버전용)
import_pb_to_tensorboard.py # Copyright 2017 The TensorFlow Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distribute..
2019.05.31
[TensorFlow] Anaconda 가상환경 이용하여 TensorFlow GPU 설치
아나콘다 설치 후 1. 가상환경 생성conda create -n 가상환경이름 python=3.6 2. 가상환경 Activationsource activate 가상환경이름 3. TensorFlow GPU 설치conda install -c anaconda tensorflow-gpu (2019년 3월 5일 기준 )이렇게 설치하면 현재 아나콘다 패키지에 나와있는 최신 버전인 TensorFlow 1.12 버전으로 설치되며CUDA 9.2, cuDNN 7.2.1 로 설정된다.필자는 CUDA 10.0 버전이 설치된 상태에서 가상환경을 위와 같이 설정하였다. 텐서플로우 GPU 버전 패키지 확인 https://anaconda.org/anaconda/tensorflow-gpu/files 3-1. TensorFlow GPU ..
2019.03.05
no image
[Tensorflow] Tensorflow GPU 버전 설치하기
3일의 삽질이 끝났다... 나중에 참고하려고 써보는 포스팅이다. 버전이 참 중요하다고 새삼느꼈다. 수많은 버전 충돌로 인한 에러를 충분히 겪고 쓰는 포스팅이 많은 사람들에게 도움이 되길 바라며... 설치 환경 - Windows 10 / 64 bits - Anoconda 4.3 - Visual Studio 2015 새로 설치한 환경 - CUDA 8.0 - cuDNN 6- Tensorflow 1.4 설치 순서는 아래와 같다.아나콘다 - 비주얼 스튜디오(필요시) - CUDA - CuDNN - Tensorflow * 참고로 Tensorflow 1.5 버전은 CUDA 9.0 이 필요하고,* Tensorflow 1.3 버전 부터는 cuDNN 6 버전이 필요하다. * Tensorflow 1.5 버전이 릴리즈 되었다고..
2018.01.11
no image
[Tensorflow] windows 환경에서 tensorflow에 opencv 설치하기
필자는 python 3.5 버전을 사용하고 있다. 1. 자신 환경에 맞는 whl 파일 다운받기 http://www.lfd.uci.edu/~gohlke/pythonlibs/ ctrl + f 로 opencv 를 찾아서 누르면 파일 목록이 나온다. 필자는 python 3.5 버전, windows 64bits 를 사용중이어서 아래 표시한 파일을 다운받았다. OpenCV, a real time computer vision library.opencv_python‑2.4.13.2‑cp27‑cp27m‑win32.whlopencv_python‑2.4.13.2‑cp27‑cp27m‑win_amd64.whlopencv_python‑3.1.0‑cp27‑cp27m‑win32.whlopencv_python‑3.1.0‑cp27‑cp..
2017.09.05
no image
[Tensorflow] Windows 환경에서의 Anaconda를 이용한 Tensorflow CPU 버전 설치하기 (에러해결법)
참고자료 1 : http://daddynkidsmakers.blogspot.kr/2017/05/windows-10-tensorflow.html 설치환경 - Windows 10, 64bits- Intel core 사용중 (추후 GPU 구입 예정)* 보통 딥러닝을 하기 위한 CUDA 라이브러리를 사용하기 위해 성능이 좋은 GPU가 사용된다. 참고로 NVIDA GPU가 아니라면 CUDA 라이브러리를 쓸 수 없다. 하지만 간단한 예제 프로그래밍은 CPU로도 가능하며, GPU 와 설치방법이 다르다. (아주 약간) - Python 3.5 버전 (다운로드 : https://www.python.org/downloads/release/python-353/ )- Anaconda 4.2.0 버전 (다운로드 : https:/..
2017.09.05