Artificial Intelligence


Tensorflow Android Demo


Prologue








구글이 말하길 텐서플로우라는 머신러닝 프로그램은 처리속도와 무게에 있어서 차별성을 가진다고 합니다


그렇다면 이러한 특징을 가장 잘 살릴 방법은 바로 모바일 환경에서의 텐서플로우 구축일 것입니다


구글의 텐서플로우팀은 자비롭게도 누구나 텐서플로우를 모바일 환경에서 다룰 수 있도록


아주 간단한 데모 어플리케이션을 공개했습니다


모든 소스코드와 학습된 데이터 그래프를 공개하고, 직접 빌드해 보라며 차근차근히 알려주었습니다




그렇기에 이 텐서플로우를 활용한 안드로이드 어플리케이션은 


텐서플로우를 실생활에 활용해 보려 하는 사람이라면 한번 쯤 만들어볼 만한 가치가 있다고 생각합니다


우리에게 가장 와닿는 방법으로 인공지능을 사용하는 방법이기 때문이죠




위에서 말했듯이 구글은 하나부터 열까지 빌드 방법을 차근차근 알려주기 때문에


기존에 개발을 지속해 오시던 분들은 금방 데모 어플리케이션을 제작 할 것입니다


다만 저와 LIME의 팀원들을 포함해, 이번에 새롭게 텐서플로우에 관심을 갖고


개발에 발을 디딘 사람이라면 이 간단한 데모 어플의 빌드조차 쉽지 않다고 할 수 있겠습니다




이에 우여곡절 끝에 어플리케이션 빌드에 성공한 텐서플로우 프로젝트 팀원들은 


빌드를 하기 위해 수많은 사이트를 전전하며 얻은 정보들과 과정을


저희와 같은 초보자들을 위해 공유하기로 결정했습니다


기본적인 안드로이드 어플 빌드 환경의 구축부터 최종적인 빌드 명령어까지 


팀원들이 겪은 문제점과 해결 방법에 대해 상세하게 챕터별로 이야기해 보도록 하겠습니다


구성은 다음과 같습니다




개발 환경 구축하기




Chapter 1. 바젤(Bazel) 이란 무엇인가


바젤은 어떤 프로그램인가


바젤을 사용해야 하는 이유는 무엇인가


바젤을 사용하기 위한 OS 환경을 구축하자 - 우분투를 기반으로




Chapter 2. 우분투 환경에서 안드로이드 개발 환경 만들기


안드로이드 스튜디오 설치하기


SDK와 NDK 설치하기




Chapter 3. 우분투에 텐서플로우 환경 만들기


파이선과 텐서플로우의 설치


CUDA 설치하기 


CUDNN 설치하기




빌드 소스코드 얻기




Chapter 3. 텐서플로우 소스코드 저장하기


소스코드는 어디에서 받아 어디에 저장하는가




Chapter 4. WORKSPACE 파일 설정하기


WORKSPACE 는 어떤 파일인가


어느 경로에 무엇을 수정해서 저장해야 하는가




Chapter 5. 학습된 모델 저장하기


어떤 모델을 사용하는가


학습 모델의 다운로드와 저장




빌드하기




Chapter 6. 빌드하기


빌드 명령어와 주의사항





https://www.tensorflow.org/mobile.html


텐서플로우 공식 홈페이지의 텐서플로우 모바일 적용에 관한 페이지


https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android/


깃허브에 공개되어 있는 텐서플로우 안드로이드 데모버전에 대한 소스코드와 빌드 방법에 대한 설명





사실 전부 만들어져 있는 어플리케이션의 빌드가 무슨 의미가 있냐고 하시는 분도 계실 것입니다


하지만 저희가 프로젝트를 진행하며 느낀 점은


간단한 APK 파일의 빌드라도 해 보고 텐서플로우 어플리케이션을 제작하는 것과


그렇지 않은 것 사이의 이해도가 상당히 차이난다는 점이었습니다


실제 APK 파일이 어떻게 구성된 것인지부터


빌드되기 위한 환경과 그 과정을 상세하게 따라가면서 전반적인 흐름을 익히기 좋기 때문입니다


완벽한 설명은 되지 못하더라도, 텐서플로우를 공부하려는 많은 분들에게 도움이 되었으면 좋겠습니다

'Projects > SnapLearn' 카테고리의 다른 글

A-01. 바젤(Bazel) 알아보기  (6) 2016.08.26
Snap Learn 프로젝트 개요  (0) 2016.08.04

+ Recent posts