라즈베리파이는 간단한 컴퓨터로써, 사실 텐서플로우에서 요구하는 많은 계산량을 감당할 수 있는 기기가 아닙니다. 보통 모델을 학습시키는데 많은 계산량이 요구되기 때문에, 이런 부분을 빼고 이미 만들어진 모델을 이용하여 "추론"을 하는데 필요한 코드(`Interpreter`)만 담겨져 있는 것이 텐서플로우 라이트입니다.
1. 파이썬 설치
기본적으로 최근에 파이썬을 구매한 경우, 많은 경우, 이미 설치된 파이썬이 텐서 플로우에서 요구하는 파이썬보다 버전이 높은 경우가 있습니다. 이런 경우, 요구 조건에 맞는 파이썬을 라즈베리 파이에 다시 설치를 해야합니다. 이렇게 다른 버전의 파이썬들을 이용하기 위해선, `pyenv`를 이용하면 편하게 관리할 수 있습니다.
1.1. 종속성 패키지 및 pyenv 설치
(1) 공식 사이트:
- https://github.com/pyenv/pyenv/
- https://github.com/pyenv/pyenv-installer
(2) 설치 방법
- 아래 명령어를 입력하여 필수 패키지등을 설치한다.
sudo apt update; sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
위의 필수 패키지들을 모두 설치하면, 아래의 `pyenv-installer`로 pyenv를 설치합니.
curl https://pyenv.run | bash
이후, 텍스트 편집기를 이용하여, `.bashrc` 에 아래 3줄을 기입합니다.
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
NOTE: 파이썬 버전 관리를 위한 필수 `pyenv` 명령어
명령어 | 기능 |
version | 현재 사용중인 Python의 버전 출력 |
versions | 현재 사용 가능한 설치된 Python들의 버전 출 |
install | 새로운 버전의 파이썬 설치 |
global | 선택한 버전의 Python을 전역 버전으로 변경 |
local | 선택한 버전의 Python을 현재 디렉토리 및 그 하위 디렉토리의 버전으로 변경 |
shell | 선택한 버전의 Python을 현재 쉘의 버전으로 변경 |
virtualenv | 가상환경 생성 `$ pyenv virtualenv [venv 이름]` |
virtualenvs | 가상환경 목록 확인 |
activate | 가상환경 진입 `pyenv activate [venv 이름]` |
1.2. 다른 버전의 python 설치
Tensorflow lite 2.11.0은 python 3.9 버전을 지원하므로, pyenv를 이용하여 python 3.9를 다음 명령어를 통해 설치하였습니다.
pyenv install 3.9.0
1.3. TensorFlow Lite 설치
pyenv로 현재 사용하는 python 버전을 3.9.0으로 변경 후, pip로 tensorflow lite를 설치해줍니다.
$ pyenv global 3.9.0
$ pip install tflite_runtime
이후, python3를 실행 후, `tflite_runtime`을 로드하면 오류없이 불러오는 것을 확인할 수 있습니다.
$ python3
>>> from tflite_runtime.interpreter import Interpreter
'컴퓨터 & IT (Computer & IT) > Raspberry pi 3' 카테고리의 다른 글
[라즈베리파이 프로젝트] Open CV를 이용한 아날로그 게이지 읽기 및 LCD digit-Seven segment display 읽기 (tesseract, MNIST) (3) | 2024.09.14 |
---|---|
[Rasberry pi] 라즈베리 파이를 이용한 서버실 온도 체크 (0) | 2021.07.28 |
라즈베리파이를 노트북과 내부망으로 연결하고 노트북 와이파이를 통해 인터넷 연결하는 방법 (12) | 2020.11.03 |
댓글