SNPE를 한번 다뤄보겠습니다.

SNPE란?
SNPE는 퀄컴에서 제공하는 tool(?) 같은 것인데요
Snapdragon의 cpu, gpu, dsp등을 선택하여 neural network 모델을 돌릴 수 있도록 해줍니다.
phone ap로 dnn모델을 돌릴 때 발생하는 한계점들을 보완하여 phone에서도 빠르게 dnn모델을 돌릴 수 있도록 한다고 안내하고 있습니다.
gragh.pb파일을 SNPE를 이용해 snapdragon에 최적화된 컨테이너로 감싸진 dlc파일로 변환한다고 합니다.
그렇다면 SNPE를 한번 Ubuntu에 설치해보도록 하겠습니다.
Virtual box설치, Ubuntu 설치에 관한 설명은 넘어가도록 하겠습니다.
Virtual box설치, Ubuntu 설치까지 완료되었으면 tensorflow설치를 위해 필요한 것들을 하나하나 설치해보겠습니다.
1. Anaconda 설치
1)Anacondainstaller Download(https://www.anaconda.com/download/#linux)
2) Ubuntu Terminal에서[bash Anaconda-latest-Linux-x86_64.sh ]
3)라이센스 승인 및 설치할 주소 설정/PATH 지정 --> 모두 yes또는 y를 입력하여 넘어가주면 됩니다.
4)Terminal재부팅
6)condalist 입력시 라이브러리가 제대로 나온다면 설치 완료입니다.
2. Bazel설치
bazel은 tensorflow build tool입니다. snpe에서 tensorflow를 사용하기 위해선 꼭 설치해야합니다.
2-1. OpenJDK 8 설치
1)sudoapt-get update
2)sudoapt-get install openjdk-8-jdk
3)sudoadd-apt-repository ppa:webupd8team/java (Ubuntu 14.04.XX LTS의경우)
4)sudoapt-get update && apt-get install oracle-java8-installer
5)sudojava –version 이 잘된다면 설치완료
2-2. Bazel배포URI를패키지에 추가
1)echo"deb [arch=amd64] http://storage.googleapis.com/bazel-apt stablejdk1.8" | sudotee /etc/apt/sources.list.d/bazel.list
2)curlhttps://bazel.build/bazel-release.pub.gpg | sudoapt-key add
2-3. Intsall
1)sudoapt-get update &&sudoapt-get install bazel
2)sudoapt-get upgrade bazel
3. SNPE설치
3-1. NDK install
3-2) Tensorflow설치
1)sudoapt-get install python-pip python-dev python-virtualenv
2)mkdir ~/tensorflow; virtualenv--system-site-packages ~/tensorflow;source ~/tensorflow/bin/activate
3)pipinstall --upgradehttps://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.0-cp27-none-linux_x86_64.whl
4)pyhton 입력후 import tensorflow 입력시 error가 발생하지 않으면 설치 완료
3-3 .SNPESDK download
2)/home/snpe-sdk/경로에 다운받은 파일 위치시킴
3-4.Packageinstall
1)sudoapt-get install python-dev python-matplotlibpython-numpypython-protobufpython-scipypython-skimagepython-sphinx wget zip
2)source~/snpe-sdk/bin/dependencies.sh # verifies that all dependencies are installed
3)source~/snpe-sdk/bin/check_python_depends.sh # verifies that the python dependenciesare installed
4.SNPESDK 초기화설정
1)cd ~/snpe-sdk/
2)exportANDROID_NDK_ROOT=[your ndk path]
3)source./bin/envsetup.sh -t ~/tensorflow
5. Activate tensorflow & SNPE
1)source~/tensorflow/bin/activate
2)source./bin/envsetup.sh -t ~/tensorflow
여기까지 완료하면
아래와 같이 (tensorflow)가 앞에 생기면서 tensorflow가 활성화됩니다.
그런 다음에 snp-sdk폴더 아래에서 snpe-tensorflow-to-dlc 라고 입력해봅니다.
command not found같은 문구가 나오지않고, 아래처럼 출력된다면 tensorflow와 SNPE모두 잘 설치된것입니다.
snpe-tensorflow-to-dlc \
--graph[model graph file path/name(.pb)] \
--input_dim[input node name] [input dimension] \
--out_node [outputnode] \
--dlc[output model file path/name(.dlc)]
pb파일을 dlc파일로 변환하는 것은 다음 포스팅에서 다루겠습니다~~



최근 덧글