lss***
2021-08-19

텐서플로 라이트를 활용해 모바일 환경에서 딥러닝을 연동하는 방법을 안내하는 도서. 텐서플로 라이트에서 제공하는 모델 및 딥러닝의 경량화 등을 그림을 이용해 설명한다.
텐서플로 라이트를 활용한 안드로이드 딥러닝
이제 모바일에도 본격적으로 AI가 상륙한다!!
이 책은 안드로이드 앱에서 딥러닝 모델을 활용하는 방법을 다룹니다.
이 책을 읽으려면 자바와 파이썬 언어에 대한 기본적인 지식이 필요합니다.
자바와 파이썬 언어에 익숙하지 않은 독자는 사전 지식을 갖춘 뒤 이 책을 읽기 바랍니다.
앱 개발 경험이 있는 안드로이드 개발자라면 이 책을 통해
스스로 만든 앱에 딥러닝 모델을 배포하여 활용하는 방법을 익힐 수 있습니다.
또한 딥러닝 모델 개발 경험이 있는 AI 엔지니어라면
직접 개발한 모델을 안드로이드 환경에서 서비스하는 방법을 배울 수 있습니다.
텐서플로 라이트를 활용한 안드로이드 딥러닝 中
요즘 앱 개발에 관심을 조금 멀리하였더니 어느새 텐서플로 적용 서적까지 나왔네요 ^^
이제 앱, 웹에도 인공지능 적용 시대!
같이 한번 시작해볼까요?
참고로 이 서적은 자바/파이썬 기본 이상의 지식과 안드로이드 개발 경험이
필수라고 생각하지만, 쉽게 따라 할 수 있게 구성되어 있습니다.
다만 속도가 많이 느릴 수 있으니 참고 부탁드립니다.
DAY 1, 2, 3
안드로이드 텐서플로 라이트 입문/개발 기초
파트 1 ~ 5
앱 개발 + 인공지능
드디어 안드로이드와 인공지능의 만남! 기다렸습니다 :) 리뷰 시작해보겠습니다~~~
일단, 책장을 넘기자마자 알록달록 이쁘게 꾸며진 디자인에 미소를 짓게 되었습니다. "아니, 너무 이쁘잖아?"
처음 보시는 분들은 조금 어렵고 생소한 내용이 많겠지만, 안드로이드에 관심이 많은 저는 더 작고, 더 가벼운 모바일, 에지 기기용 머신러닝 기술이 들어간 앱을 드디어 개발 가능하겠구나!라는 생각에 즐겁게 리뷰할 수 있었습니다.
책 구성도 훌륭하고 무엇보다 궁금한 곳을 시원하게 긁어주는 안드로이드용 인공지능 시작의 좋은 길잡이가 되어주는 서적이 아닐까 싶습니다.
1장은 안드로이드와 텐서플로 앱 개발의 워크플로우와 환경 구축에 대하여 진행합니다, 천천히 읽고 따라 하시면 무리 없는 챕터이나 설치에 시간이 좀 소요될 것입니다. 참고 부탁드립니다!
2장부터 본격적으로 소스코드 작성 및 개발에 대한 기초 지식에 대하여 나옵니다. 언어는 자바를 위주로 설명하고 있고 안드로이드를 자바로 익혀두면 코틀린 역시 금방 익힐 수 있으니, 자바를 기준으로 활용해보시길 바랍니다. 물론 자바가 쉬운 언어는 아니지만요 ^^;;
안드로이드 빌드 프로세스, 실제 기기로 테스팅하는 방법까지 마무리하고 나면 2장도 종료됩니다.
2장부터 집중하시면 좋습니다. 아직까지 큰 무리는 없을 것 같네요!
3장부터는 레이아웃 배치, 외부 컴포넌트 불러오는 학습을 진행합니다. UI 구성은 앱 구성에서 정말 중요한 부분이죠.
안드로이드 레이아웃, 위젯, 액티비티는 가장 기초적인 지식이자 필수 지식입니다. 이벤트를 받는 방법도 나오니 꼭 복붙하지 마시고 소스코드를 성실하게 작성해보세요! 신기한 경험이 펼쳐집니다 :)
4~5장부터는 저도 흥미롭게 진행할 수 있었습니다. 드디어 텐서플로 라이트 모델 개발 워크플로우부터 기기 배포까지 실습을 진행하는 곳입니다 ^^
딥러닝 모델을 개발하고 이를 텐서플로 라이트 모델로 변환하는 방법은 생각보다 쉽지 않았습니다, 많이 접한 툴과 언어지만 계속 봐도 어려운 분야는 맞는 것 같네요 ^^ 머신러닝, 딥러닝 분야는 정말 많은 공부를 해야 될 것 같습니다. 열공 시작 챕터입니다!
5장까지 간단한 텐서플로 라이트 모델을 이용하여 간단한 앱 개발 프로세스를 진행하고 나면, 조금 진이 빠질 것입니다.
아, 생각보다 난이도가 좀 있죠?ㅎㅎ 생성한 이미지를 모델의 입력 텐서 형태에 맞게 전처리하고, 이를 모델에 입력하여 추론 결과를 받아 해석하는 방법까지 다룹니다. 어렵습니다~~ 그래도 재미있습니다! 이제 앱을 만들어보러 고고싱 해볼까요?
DAY 4, 5, 6
데이터, 라이브러리의 활용
파트 6 ~ 7
데이터와 로직 그리고 실시간 처리
6장부터는 실제로 갤러리에 저장된 이미지와 직접 촬영한 이미지를 활용하는 방법과 실시간으로 추론 결과를 확인하는 방법에 대하여 다룹니다. ImageNet 데이터를 사용하고, 모델 활용 로직을 더 효율적으로 구현하기 위해 텐서플로 라이트 서포트 라이브러리를 적용합니다.
안드로이드 기기에 탑재된 다양한 프레임워크를 이용하여 이미지를 얻고 이를 딥러닝 모델로 처리하는 실습을 진행합니다.
안드로이드 개발도 쉽지 않은데 인공지능까지 얹어서 진행하려고 하니! 생각보다 진땀이군요 ^^;;
실시간으로 이미지를 처리하는 챕터에선 Camera2 API의 처리 프로세스를 파악하고 API를 이용하여 실시간으로 카메라의 이미지를 받아오는 방법에 대하여 다룹니다.
또한 모델의 입력 이미지 크기에 따라 카메라의 이미지 크기를 최적화하고, 핸들러스레드를 이용한 비동기 처리를 적용하여 실시간 이미지 처리를 구현합니다.
어려운 단어도 많고 로직도 쉽지 않아 저 포함 많은 초보자분들이 많은 애를 먹을 것 같은 6, 7챕터 ^^
아무래도 인공지능 영역이다 보니, 천천히 진행해보려고 합니다~~!! Opencv 기술과는 또 다른 매력이 있군요!
DAY 7, 8, 9
모델의 추론 성능을 측정하고 최적화까지
파트 8 ~ 9
성능 개선과 최적화
8장에서는 안드로이드 기기에서 모델의 추론 성능을 개선하는 방법을, 9장에서는 텐서플로 라이트 모델을 최적화하는 방법을 알아보는 챕터입니다.
추론 성능을 측정하는 코드를 구현하고 CPU의 멀티 스레드, GPU 위임, NNAPI 위임을 각각 구현하여 성능을 비교합니다.
구현이 1차 목표라면 아무래도 성능을 측정하고 개선하는 것은 2차 목표겠죠? 어려워도 꼭 정독하고 코드를 작성하고 넘어가 봅시다 ^^
이후 텐서플로 라이트 모델을 최적화하는 방법을 살펴보는 마지막 챕터만 남았는데, 역시 개념도 어렵고 코드도 어렵습니다!
학습 후 양자화 기법으로 양자화된 모델의 성능을 비교해보고, 양자화 인식 학습을 통해 양자화된 모델의 정확도를 높이는 방법도 다룹니다.
이제 적절한 양자화 기법을 적용하여 리소스가 제한된 안드로이드 기기에서 모델의 성능을 극대화할 수 있는 앱을 만들어 볼 차례입니다!
DAY 10
후기
이제는 On-Device AI!
재미있는 모바일 딥러닝
후기 : 유저가 자주 이용하는 모바일, 웹에도 딥러닝이 필수인 시대
안드로이드는 서적도 많이 보고 앱도 어느 정도 만들어 본 경험이 있어 프로세스를 다시 복습하는 데 오랜 시간이 걸리지 않았습니다.
그리고 요즘 케라스, 텐서플로우, 파이 토치 등 딥러닝 라이브러리를 활용하여 공부와 프로젝트를 진행하고 있어 재미있는 서적이 나왔다고 생각했습니다.
그리고 역시! 예상대로!
텐서플로 라이트라는 또 다른 모바일 딥러닝 라이브러리가 제 머리와 가슴을 뒤흔들었습니다.
모델 선택부터, 개발, 변환, 배포까지 프로세스에 대하여 정확히 알려주며 어렵지 않게 앱 만드는 방법을 소개하고 있고
이미지 분류, 실시간 처리 그리고 마지막에는 성능 개선과 모델 최적화까지! 완벽한 프로세스로
독자가 충분히 이해할 수 있게 설명하고 있습니다.
후배한테도 재미있다고 극찬한 서적입니다.
모바일 개발과 인공지능 앱 개발에 관심이 있다면, 강추입니다!
★★★★★
리뷰를 마치며!
"<텐서플로 라이트를 활용한 안드로이드 딥러닝>"의 자세한 내용은 한빛미디어 홈페이지에서 확인하실 수 있습니다."