상세 컨텐츠

본문 제목

TFLite Digit Classfier Demo App 분석

AI

by cepiloth 2021. 4. 14. 20:07

본문

728x90
반응형

 

github.com/tensorflow/examples/tree/master/lite/examples/digit_classifier/android

 

tensorflow/examples

TensorFlow examples. Contribute to tensorflow/examples development by creating an account on GitHub.

github.com

최초 git을 통해 clone 후 Android Studio의 프로젝트의 구성은 아래와 같다.

 

프로젝트 내의 추론용 모델이 없다. 의아하기는 했지만 Pixel 3 에뮬레이터에서 실행해보았다. 아래 구성처럼 assets 폴더 하위에 mnist.tflite 파일이 생성되어 있다. 어느 시점에 다운로드하는 것인가 궁금점이 생겨서 디버깅하였다.

 

build.gradle를 확인해보니 아래와 같은 구문이 있다. build 타임에 model을 다운로드하는 것으로 추측된다.

// import DownloadModels task
project.ext.ASSET_DIR = projectDir.toString() + '/src/main/assets'

// Download default models; if you wish to use your own models then
// place them in the "assets" directory and comment out this line.
//apply from: "download_model.gradle"

apply from:'download_model.gradle'


다음으로 download_model.gradle 확인해보았다. 아래와 같이 assebleDebug task에 종속 task로 download_model.gradle task를 실행하게 되어 있다.

task downloadModelFile(type: Download) {
    src 'https://storage.googleapis.com/download.tensorflow.org/models/tflite/digit_classifier/mnist.tflite'
    dest project.ext.ASSET_DIR + '/mnist.tflite'
    overwrite false
}


tasks.whenTaskAdded { task ->
    if (task.name == 'assembleDebug') {
        task.dependsOn 'downloadModelFile'
    }
    if (task.name == 'assembleRelease') {
        task.dependsOn 'downloadModelFile'
    }
}


assembleDeubg Task 가 동작할 때 downloadModelFile Task를 실행시켜 mnist.tflite 모델을 다운로드하게 구성되어 있다. tensorflow hub에 있는 이미 훈련된 데이터를 다운로드하게 되어있다. 이런 식으로 가능하구나.. 궁금한 것 중 하나였는데 서버에 있으니 흠 ㅇㅇ; 아무튼 task에서 저런 식으로 처리할 수 있다는 것을 알 수 있었다.

 

728x90
반응형

'AI' 카테고리의 다른 글

유전 알고리즘으로 그림 그리기  (0) 2021.04.27
딥러닝 추론  (2) 2021.04.23
CartoonGAN 실습  (5) 2021.04.12
tensorflow' has no attribute 'ConfigProto'  (0) 2021.04.07
STYLE TRANSFER  (0) 2021.04.02

관련글 더보기

댓글 영역