모바일/안드로이드 7

No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi ndk 관련 문제 해결

안드로이드에서 다음과 같은 에러가 나왔습니다. No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi 여러가지를 시도해봤지만, 결국 통한 것은, android studio 에서 tools->SDK Manager->Android SDK -> SDK Tools 에 들어가면 있습니다. 원래 여러 개의 ndk 가 설치 되어있었는데 다 클릭 해제 하고 하나만 클릭해서 설치했더니 되었습니다. 시도했던 것들: cache invalidate, ndk-build install-toolchain, gradle 에다가 경로저장, 등등이 있습니다. 참고자료 : https://github.com/flutter/flutt..

안드로이드용 tflite image classification 모델 inference 스크립트

안녕하세요 저번 포스트에서 만들었던, 모델을 실제로 어떤 식으로 테스트 해볼수 있을까요? 다음 스크립트를 사용하면 테스트를 해볼 수 있습니다. reference: https://www.tensorflow.org/lite/inference_with_metadata/task_library/image_classifier #Imports from tflite_support.task import vision from tflite_support.task import core from tflite_support.task import processor from tensorflow_lite_support.python.task.core import base_options as base_options_module from ..

안드로이드에서 Image classification 모델 만들기(tflite model maker)

안녕하세요 오늘은 Android 에서 돌아가는 Image Classfication model에 대해서 알아보도록 하겠습니다. Image Classification은 CNN중에서도 가장 기본적인 활용인 만큼, 의미가 있을것으로 보입니다. reference: https://www.tensorflow.org/lite/models/modify/model_maker/image_classification Image classification with TensorFlow Lite Model Maker Thanks for tuning in to Google I/O. View all sessions on demandWatch on demand Image classification with TensorFlow Lite M..

Flutter를 사용해서 Yolov5를 안드로이드에서 돌려보자!

안녕하세요 이번에는 Flutter를 사용해서 Yolov5를 안드로이드에서 돌려보는 작업을 포스팅 해보도록 하겠습니다. 우선 yolov5에 대한 소개입니다. https://github.com/ultralytics/yolov5 그리고 flutter같은 경우에는 android, ios 둘다 적용이 가능하기 때문에 범용적으로 많이 쓰이는 플랫폼입니다. 안드로이드에서 머신러닝을 돌리는 경우 tflite를 활용하는데, flutter의 경우 tflite library가 있지만, 지원을 하지 않는 것으로 확인되고, v2 embedding에 지원이 안된다고 합니다. 그래서 flutter로 하는것을 포기하려던 차에, 새로운 깃헙을 찾게 되었고, 저희 팀원의 도움으로, 구현에 성공하였습니다. https://github.co..

안드로이드에서 소리 분류 custom data를 학습시키기 (tflite, yamnet)

안드로이드에서 tflite를 이용해서 모델을 이용한 소리 분류 앱을 만드는 튜토리얼을 진행해 보았습니다. 대부분의 코드는 이 튜토리얼 참조 하였습니다. 참조: 선행학습된 커스텀 오디오 분류 모델 빌드 튜토리얼에서는 새 데이터를 사용하여서 5종류의 새 울음소리를 학습하였습니다. 기본적인 앱은 앞선 튜토리얼과 상당히 비슷합니다. 오디오 분류를 위한 기본 앱 만들기 MainActivity 안에 모든 코드가 있으며, 다음과 같습니다. class MainActivity : AppCompatActivity() { var TAG = "MainActivity" // TODO 2.1: defines the model to be used var modelPath = "this_model.tflite" // TODO 2.2..

안드로이드 앱 tflite 모델 로드하던 중 에러 해결(metadata)

안드로이드에서 머신러닝을 몇 가지 해 보던 중, object detection 어플리케이션을 해 봤는데, audio classification 앱은 실행되지 않는 것을 발견했습니다. 오랜 디버깅 끝에, LogCat에서 다음 로그를 발견했습니다. E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.mysoundclassification, PID: 31078 java.lang.AssertionError: Error occurred when initializing AudioClassifier: Models are assumed to have the ModelMetadata and SubGraphMetadata. 알아보니, model을 asset 폴더에 ..

안드로이드 스튜디오 사용해서 안드로이드 폰에 포팅하기

일단 먼저, 안드로이드 폰을 개발자 모드로 만들어야 합니다. 제가 가지고 있는 폰 (갤럭시 S22)의 경우에는 먼저 개발자 모드를 들어가야 합니다. 참조 : 온디바이스 개발자 옵션 구성 안드로이드 9 이상에서, 설정 -> 휴대전화 정보 -> 빌드 번호를 7번 클릭하면 개발자 모드로 설정이 가능한데, 여기서 비밀번호를 잊어버려서 굉장히 고생을 했습니다. 결국 비밀번호를 기억해 냈지만, 비밀번호를 기억해 내지 못하면, 삼성계정으로 원격 풀기를 하지 않으면 실질적으로 상당히 힘들어 보입니다. 삼성계정으로 원격잠금해제 여튼 개발자 모드를 들어간 이후엔, 설정 -> 시스템 -> 고급-> 개발자 옵션 -> USB 디버깅 모드를 켜 줍니다. 여기서 안드로이드 스튜디오로 들어가서 실행을 누르면 앱이 자동적으로 깔아짐을..