본문 바로가기
  • AI 개발자가 될래요

안드로이드9

[안드로이드] Android Studio/안드로이드 스튜디오 모듈 삭제하기 안드로이드 스튜디오 모듈 삭제하는 방법 안드로이드 어플리케이션 개발은 언제나 까다롭다.. import module 통해 추가한 모듈을 지우고 싶을 때, 폴더에서 삭제하면 되는 줄 알았더니 내부적으로 처리를 추가적으로 해줘야 한다. 삭제해야 하는 것 삭제해야 하는 것은 3가지다. 1. gradle에서 모듈 삭제 필자는 OpenCV 를 지우려고 한다. 먼저 gradle에 추가했던 모듈을 지우자. dependencies { ... implementation project(":opencv") ... } 추가했던 모듈을 지우고 sync를 맞춰준다. 2. Project Structure에서 모듈 삭제 File → Project Structure 를 누르면 아래 창이 뜬다. 여기서 원하는 모듈을 우클릭 후 Remov.. 2023. 9. 12.
[Android/Kotlin] 안드로이드에서 코틀린으로 TFLite 모델 돌릴 때 생길 수 있는 RGB, BGR 오류 / Pytorch와 TFLite 출력이 다른 이유 안드로이드에서 코틀린으로 TFLite 모델 돌릴 때 생길 수 있는 RGB, BGR 오류 부제: Pytorch와 TFLite 출력이 다른 이유, RGB2BGR 현재 PyTorch로 학습된 모델을 TFLite로 변환하여 안드로이드에서 동작시키는 코드를 짜고 있다. Convert를 다 하고, Android Studio에서 Kotlin으로 TFlite 모델을 동작시킬 때 논리적 오류가 발생했다. 환경 별 모델 Output 비교 왼쪽 위는 레이블, 오른쪽 위는 Python으로 PyTorch를 동작시켰을 때 나오는 output, 왼쪽 아래는 Python에서 TFLite를 동작시켰을 때 나오는 output, 오른쪽 아래는 Kotlin에서 TFLite를 동작시켰을 때 나오는 output이다. Kotlin에서 TFLit.. 2023. 3. 23.
[코틀린] Kotlin의 정수, 실수 자료형, 자료형 추론법 Kotlin의 정수, 실수 자료형 정수 자료형 정수 자료형은 양수, 음수, 0을 나타낸다. 코틀린의 정수 자료형은 부호가 있는 것과 부호가 없는 것으로 나눌 수 있다. 다음은 부호가 있는 정수 자료형을 정리한 표이다. 값의 범위에 따라 알맞은 정수 자료형을 사용하면 된다. 부호가 있는 정수 자료형 정수 자료형 Long 8바이트(64비트) -2^63 ~ 2^63-1 Int 4바이트(32비트) -2^31 ~ 2^31-1 Short 2바이트(16비트) -2^15 ~ 2^15-1 (-32,768 ~ 32,767) Byte 1바이트(8비트) -2^7 ~ 2^7-1 (-128 ~ 127) 정수를 표현할 때 숫자를 그냥 사용하면 10진수를 나타내지만, 접미사나 접두사를 사용하면 다음과 같이 2진수나 16진수로도 표현.. 2023. 3. 20.
[안드로이드/코틀린] Bitmap 이미지 저장하기 Android 에서 Kotlin 으로 Bitmap 이미지 저장하는 법 parsing_result.jpg 라는 이름으로 cache 경로에 Bitmap을 저장하는 코드는 아래와 같다. // 파일저장 val parsing_result: File = File(cacheDir, "parsing_result.jpg") // cache 경로에 parsing_result.jpg 이름으로 파일 선언 parsing_result.createNewFile() // 파일 생성 val parsingOutputStream: FileOutputStream = FileOutputStream(parsing_result) labels_BitmapBuffer.compress(Bitmap.CompressFormat.JPEG, 100, par.. 2023. 3. 15.
[안드로이드/코틀린] asset 에서 이미지 Bitmap으로 읽기 코틀린으로 Asset에 있는 이미지 Bitmap으로 읽는 법 asset 폴더에 있는 00004_kf94.jpg 이미지를 읽어서 Bitmap으로 가져오는 코드는 다음과 같다. // asset 폴더에서 이미지 읽어오기 val assetManager = resources.assets val inputStream = assetManager.open("00004_kf94.jpg") var bitmap = BitmapFactory.decodeStream(inputStream) 2023. 3. 15.
[안드로이드/TFLite] TF Lite delegate TF Lite Delegate 대리자라는 뜻. TF Lite delegate는 tensor graph 연산의 일부분 혹은 전체를 다른 executor (GPU, DSP)에 위임하여 대리연산을 시킨다. delegate는 TF Lite가 모바일과 같은 적은 리소스를 가진 디바이스에서 빠르게 연산을 할 수 있게 만들어준다. mobile폰은 ML을 가속화 하기 위한 것들을 가지고 있는 경우가 많은데 대표적으로 GPU와 DSP moduel 이다. 이러한 GPU, DSP를 이용하기 위해서 low level SDK인 OpenCL과 OpenGL이 사용된다. TensorflowLite Delegate API는 TFLite runtime과 이러한 low level SDK(openCL, openGL) 사이의 bridge 역.. 2023. 3. 9.