이제는 On-Device AI, 모바일 딥러닝을 준비해야 한다!
안드로이드 앱에서 딥러닝 모델을 활용하는 방법을 최대한 입문자의 시선에 맞추어 풀어낸 책이다. 모델의 추론 성능을 측정하고 최적화하는 방법까지 다룬다. 또한 입문자의 진입장벽을 낮추기 위해 각 코드의 의미를 한 줄 한 줄 상세히 설명했다. 앱 개발 경험이 있는 안드로이드 개발자라면 이 책을 통해 직접 만든 앱에 딥러닝 모델을 배포하여 활용하는 방법을 빠르게 익힐 수 있다. 딥러닝 모델 개발 경험이 있는 AI 엔지니어라면 직접 개발한 모델을 안드로이드 환경에서 서비스하는 방법도 찾을 수 있다.
On-Device AI, 모바일 딥러닝에 가장 빠르게 입문하고 싶다면, 이 책으로 시작하자!
상세이미지
저자 소개
저자 : 임태규
삼성전자에서 9년 동안 안드로이드 기반 서비스를 개발했고, 현재 쿠팡에서 플러터를 이용하여 모바일 앱을 개발하고 있다. 정보관리기술사로, IT 기술 전반에 관심이 많으며, 최근에는 인공지능 기술에 주목하고 있다. 모바일 개발자로서 모바일과 인공지능 기술의 융합에 기여하고자 한다.
목 차
1장. 안드로이드와 텐서플로 라이트 입문
1.1 안드로이드와 텐서플로 라이트를 이용한 앱 개발 워크플로
1.2 안드로이드 입문
1.3 안드로이드 개발 환경 구축
1.4 텐서플로 라이트 입문
1.5 텐서플로 라이트 개발 환경 구축
1.6 마무리
2장. 처음 만드는 안드로이드 앱
2.1 안드로이드 프로젝트 생성
2.2 안드로이드 프로젝트의 구조 및 기본 코드 분석
2.3 안드로이드 개발 언어
2.4 Gradle
2.5 안드로이드 기기 테스트
2.6 마무리
3장. 안드로이드 앱 UI 구성
3.1 레이아웃
3.2 위젯
3.3 액티비티
3.4 액티비티와 UI 연결
3.5 외부 컴포넌트 불러오기
3.6 마무리
4장. 텐서플로 라이트 모델 개발
4.1 텐서플로 라이트 모델 개발 워크플로
4.2 모델 선택
4.3 모델 개발
4.4 모델 변환
4.5 기기 배포
4.6 마무리
5장. 텐서플로 라이트 모델을 이용한 안드로이드 앱 개발
5.1 텐서플로 라이트 모델을 이용한 앱 개발 프로세스
5.2 입력 데이터 생성 앱 개발
5.3 TFLite 모델 로드
5.4 입력 이미지 전처리
5.5 추론 및 결과 해석
5.6 마무리
6장. 프레임워크를 활용한 이미지 분류 앱 개발
6.1 ImageNet 데이터
6.2 텐서플로 라이트 서포트 라이브러리
6.3 기기에 저장된 이미지 처리
6.4 카메라 이미지 처리
6.5 마무리
7장. 실시간 이미지 처리
7.1 Camera2 API의 개요
7.2 실시간 이미지 처리 앱의 개요
7.3 레이아웃 개발
7.4 카메라 사용 로직 구현
7.5 기기에서의 추론
7.6 마무리
8장. 텐서플로 라이트 모델의 성능 개선
8.1 추론 성능 측정
8.2 추론 성능 개선
8.3 마무리
9장. 텐서플로 라이트 모델 최적화
9.1 최적화의 개요
9.2 학습 후 양자화
9.3 양자화 인식 학습
9.4 마무리
출판사 서평
이 책의 구성
이 책은 총 9개 장으로 구성되어 있습니다. 먼저 안드로이드 앱을 개발하는 방법과 딥러닝 모델을 개발하는 방법을 살펴본 다음 딥러닝 모델을 활용한 안드로이드 앱을 개발하는 방법을 설명합니다. 그리고 모델의 추론 성능을 측정하고 이를 최적화하는 방법도 다룹니다.
1장: 개요 및 개발 환경 구축
안드로이드와 텐서플로 라이트 프레임워크를 소개하고, 개발 환경을 구축합니다.
2장, 3장: 안드로이드 앱 개발
2장에서는 안드로이드 프로젝트를 생성하고 프로젝트 구조와 구성 요소를 알아봅니다.
3장에서는 안드로이드 앱의 UI를 구성할 수 있도록 레이아웃과 위젯에 대해 살펴보고, 외부 컴포넌트를 사용하는 방법을 알아봅니다.
4장: 딥러닝 모델 개발
텐서플로 라이트 모델 개발 워크플로를 알아보고, 각 프로세스에 따라 모델을 개발하여 안드로이드 프로젝트에 배포합니다.
5장, 6장, 7장: 딥러닝 모델을 이용한 안드로이드 앱 개발
5장에서는 4장에서 개발한 딥러닝 모델을 활용하여 안드로이드 앱을 개발합니다. 앱에서 모델에 입력할 데이터를 만들고, 이를 모델에 입력하여 추론하고 그 결과를 표현하는 방법을 알아봅니다.
6장에서는 프레임워크를 이용하여 다양한 방법으로 기기에서 이미지를 얻고 이를 분석하는 앱을 개발합니다.
7장에서는 기기의 카메라에 입력되는 데이터를 실시간으로 처리하는 앱을 개발합니다. 이미지 크기 최적화와 비동기 처리 등 실시간 데이터 처리를 위한 기법을 알아봅니다.
8장, 9장: 성능 향상 및 최적화
8장에서는 기기에서 모델의 추론 성능을 측정하고, 이를 향상시키는 방법을 알아봅니다. 9장에서는 제한된 환경에서 최고의 성능을 낼 수 있도록 모델을 최적화하는 방법을 알아봅니다.