안드로이드
-
안드로이드를 무작정 개발하다 보면, 여러 스레드들이 충돌이 일어나 원하지 않는 결과가 나오거나 모듈의 순서가 맞지 않는 경우가 종종 있는데요. 스레드는 프로세스 안에서 돌아가는 코드와 별개로 병렬로 실행되며 여러개의 스레드가 존재할 수도 있습니다. "동기화"란, 여러 스레드가 같은 프로세스 안에서 서로 자원을 공유하기 때문에 영향을 주게 되는 것을 말하는데 만약 어떤 스레드가 처리하고 있던 내용을 중간에 다른 스레드가 처리하게 되면 충돌이 발생하거나 원치 않은 결과를 받을 수 있습니다. 이러한 현상을 스레드 간섭이라고 합니다. 그래서 오늘은 안드로이드 Handler, Thread, Looper, AsyncTask, Join, Syncronized 등 동기화에 관한 개념을 총 정리하도록 하겠습니다. ○ 안..
[Android] 핸들러, 스레드, 병렬처리, 동기화 왜 필요할까안드로이드를 무작정 개발하다 보면, 여러 스레드들이 충돌이 일어나 원하지 않는 결과가 나오거나 모듈의 순서가 맞지 않는 경우가 종종 있는데요. 스레드는 프로세스 안에서 돌아가는 코드와 별개로 병렬로 실행되며 여러개의 스레드가 존재할 수도 있습니다. "동기화"란, 여러 스레드가 같은 프로세스 안에서 서로 자원을 공유하기 때문에 영향을 주게 되는 것을 말하는데 만약 어떤 스레드가 처리하고 있던 내용을 중간에 다른 스레드가 처리하게 되면 충돌이 발생하거나 원치 않은 결과를 받을 수 있습니다. 이러한 현상을 스레드 간섭이라고 합니다. 그래서 오늘은 안드로이드 Handler, Thread, Looper, AsyncTask, Join, Syncronized 등 동기화에 관한 개념을 총 정리하도록 하겠습니다. ○ 안..
2020.06.02 -
● Android Speech Recognizer 안드로이드에서는 구글 SpeechToText, TextToSpeech 기술인 stt, tts를 내장 API로 지원하고 있습니다. 별도의 설치 없이 gradle에 특별한 세팅이 필요하지 않고 manifest에 몇 가지 권한을 주면 바로 불러와서 사용가능 합니다. Android Developers SpeechRecognizer 공식문서 ○ android.speech 클래스를 사용해 STT 기능 구현하기 1. AndroidManifest.xml 2. activity_main.xml 화면은 음성인식 시작 버튼과 음성인식 결과 텍스트뷰만 생성하였습니다. 3. MainActivity.java // android.speech 클래스에서 필요한 객체 임포트 import..
[Android] 구글STT, TTS 사용하기 (android.speech)● Android Speech Recognizer 안드로이드에서는 구글 SpeechToText, TextToSpeech 기술인 stt, tts를 내장 API로 지원하고 있습니다. 별도의 설치 없이 gradle에 특별한 세팅이 필요하지 않고 manifest에 몇 가지 권한을 주면 바로 불러와서 사용가능 합니다. Android Developers SpeechRecognizer 공식문서 ○ android.speech 클래스를 사용해 STT 기능 구현하기 1. AndroidManifest.xml 2. activity_main.xml 화면은 음성인식 시작 버튼과 음성인식 결과 텍스트뷰만 생성하였습니다. 3. MainActivity.java // android.speech 클래스에서 필요한 객체 임포트 import..
2020.05.26 -
● 형태소 분석기 한국어 처리에 있어 형태소 분석기는 매우 중요합니다. 영어의 경우 공백 기준으로 단어를 나누는 tokenize기능을 사용해도 큰 무리가 없지만, 한국어 문장에서 키워드를 추출하려면 각 단어들을 형태소 분석에 의하여 가치가 있는 명사, 동사, 조사 등을 추출해야 합니다. ○ 형태소 분석(Pos Tagging)이란? 원시말뭉치를 형태소 단위로 쪼개고 각 형태소에 품사 정보를 부착하는 작업을 가리킵니다. 많은 개발자, 데이터 분석가들이 한국어에 특화된 형태소 분석기를 만들어주었고 오픈소스로 이용할 수 있게 되었습니다. 특히 파이썬 패키지로 유명한 'KoNLPy'는 꼬꼬마, 꼬모란, 한나눔, 메캅 등의 유명한 형태소 분석기를 묶어 편리하게 사용할 수 있도록 되어있습니다. ○ 어떤 형태소 분석기..
[Android + NLP] Kkma형태소 분석기 안드로이드 스튜디오에서 사용하기● 형태소 분석기 한국어 처리에 있어 형태소 분석기는 매우 중요합니다. 영어의 경우 공백 기준으로 단어를 나누는 tokenize기능을 사용해도 큰 무리가 없지만, 한국어 문장에서 키워드를 추출하려면 각 단어들을 형태소 분석에 의하여 가치가 있는 명사, 동사, 조사 등을 추출해야 합니다. ○ 형태소 분석(Pos Tagging)이란? 원시말뭉치를 형태소 단위로 쪼개고 각 형태소에 품사 정보를 부착하는 작업을 가리킵니다. 많은 개발자, 데이터 분석가들이 한국어에 특화된 형태소 분석기를 만들어주었고 오픈소스로 이용할 수 있게 되었습니다. 특히 파이썬 패키지로 유명한 'KoNLPy'는 꼬꼬마, 꼬모란, 한나눔, 메캅 등의 유명한 형태소 분석기를 묶어 편리하게 사용할 수 있도록 되어있습니다. ○ 어떤 형태소 분석기..
2020.05.12 -
○ 텐서플로우 라이트, 텐서플로2.0도 Support TensorFlow 2.0을 사용하면 ML 응용 프로그램을 훨씬 쉽게 개발할 수 있습니다. Keras를 TensorFlow에 긴밀하게 통합하고 기본적으로 열악한 실행 및 Pythonic 함수 실행을 통해 TensorFlow 2.0은 Python 개발자에게 친숙한 응용 프로그램 개발 경험을 제공합니다. ML의 경계를 넓히는 연구원을 위해 우리는 TensorFlow의 저수준 API에 많은 투자를했습니다. 이제 내부적으로 사용되는 모든 op를 내보내고 변수 및 검사 점과 같은 중요한 개념에 대한 상속 가능한 인터페이스를 제공합니다. 이를 통해 TensorFlow를 다시 빌드하지 않고도 TensorFlow의 내부를 구축 할 수 있습니다. 텐서플로 라이트 공식..
[Android + Keras] .h5파일을 .pb와 .tflite 파일로 변환하기(Tensorflow Lite)○ 텐서플로우 라이트, 텐서플로2.0도 Support TensorFlow 2.0을 사용하면 ML 응용 프로그램을 훨씬 쉽게 개발할 수 있습니다. Keras를 TensorFlow에 긴밀하게 통합하고 기본적으로 열악한 실행 및 Pythonic 함수 실행을 통해 TensorFlow 2.0은 Python 개발자에게 친숙한 응용 프로그램 개발 경험을 제공합니다. ML의 경계를 넓히는 연구원을 위해 우리는 TensorFlow의 저수준 API에 많은 투자를했습니다. 이제 내부적으로 사용되는 모든 op를 내보내고 변수 및 검사 점과 같은 중요한 개념에 대한 상속 가능한 인터페이스를 제공합니다. 이를 통해 TensorFlow를 다시 빌드하지 않고도 TensorFlow의 내부를 구축 할 수 있습니다. 텐서플로 라이트 공식..
2020.05.06 -
케라스나 파이토치에서 만든 AI모델을 CoreML(ios), Tensorflow mobile or lite(android)를 통해 적용할 수 있다. Tensorflow Mobile 구글이 제공하는 머신러닝 프레임워크, .pb파일 이용 Feedforward, convolution, recurrent neural network 지원(지금은 full RNN, LSTM도 지원) C++ 기반의 API, Java Wrapper 제공 Tensorflow Lite 구글이 제공하는 머신러닝 프레임워크, .tflite파일 이용 제공하는 모델이 좀 더 한정적이라고 합니다. C++ 기반의 API, Java Wrapper 제공 Tf Mobile보다 가볍게 최적화 되어있음 어쨌든 keras 모델을 ios나 안드로이드에 삽입하여 ..
[Android + Keras] 케라스 모델을 안드로이드에서 사용하려면(Tensorflow Mobile,Lite)케라스나 파이토치에서 만든 AI모델을 CoreML(ios), Tensorflow mobile or lite(android)를 통해 적용할 수 있다. Tensorflow Mobile 구글이 제공하는 머신러닝 프레임워크, .pb파일 이용 Feedforward, convolution, recurrent neural network 지원(지금은 full RNN, LSTM도 지원) C++ 기반의 API, Java Wrapper 제공 Tensorflow Lite 구글이 제공하는 머신러닝 프레임워크, .tflite파일 이용 제공하는 모델이 좀 더 한정적이라고 합니다. C++ 기반의 API, Java Wrapper 제공 Tf Mobile보다 가볍게 최적화 되어있음 어쨌든 keras 모델을 ios나 안드로이드에 삽입하여 ..
2020.04.22