케라스
-
○ 텐서플로우 라이트, 텐서플로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 -
● Embedding Methods NLP task를 수행하기 전, 단어를 벡터로 만드는 임베딩 작업을 케라스를 이용해서 하는 방법은 크게 두 가지가 있습니다. 케라스의 내장 함수인 Embedding()을 사용하기 Pre-trained word embedding 가져와서 Embedding Layer에 주입하기 1. Keras Embedding Layer 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.prepr..
[Keras] Embedding Layer에 word2vec 주입하기● Embedding Methods NLP task를 수행하기 전, 단어를 벡터로 만드는 임베딩 작업을 케라스를 이용해서 하는 방법은 크게 두 가지가 있습니다. 케라스의 내장 함수인 Embedding()을 사용하기 Pre-trained word embedding 가져와서 Embedding Layer에 주입하기 1. Keras Embedding Layer 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.prepr..
2020.02.21 -
● Gradient Boost Gradient Boosting Algorithm (GBM)은 회귀분석 또는 분류 분석을 수행할 수 있는 예측모형이며 예측모형의 앙상블 방법론 중 부스팅 계열에 속하는 알고리즘입니다. Gradient Boosting Algorithm은 Tabular format 데이터 (엑셀형태와 같이 X-Y Grid로 되어있는 데이터)에 대한 예측에서 엄청난 성능을 보여주고, 머신러닝 알고리즘 중에서도 가장 예측 성능이 높다고 알려진 알고리즘입니다. 그렇기 때문에 Gradient Boosting Algorithm을 구현한 패키지들이 많습니다. LightGBM, CatBoost, XGBoost 같은 파이썬 패키지들이 모두 Gradient Boosting Algorithm을 구현한 패키지들입..
[캐글] 중고차 가격 예측 모델2_Gradient Boost, Random Forest● Gradient Boost Gradient Boosting Algorithm (GBM)은 회귀분석 또는 분류 분석을 수행할 수 있는 예측모형이며 예측모형의 앙상블 방법론 중 부스팅 계열에 속하는 알고리즘입니다. Gradient Boosting Algorithm은 Tabular format 데이터 (엑셀형태와 같이 X-Y Grid로 되어있는 데이터)에 대한 예측에서 엄청난 성능을 보여주고, 머신러닝 알고리즘 중에서도 가장 예측 성능이 높다고 알려진 알고리즘입니다. 그렇기 때문에 Gradient Boosting Algorithm을 구현한 패키지들이 많습니다. LightGBM, CatBoost, XGBoost 같은 파이썬 패키지들이 모두 Gradient Boosting Algorithm을 구현한 패키지들입..
2020.01.16 -
● Kaggle 캐글(Kaggle)은 머신러닝 대회로 유명한 플랫폼 입니다. 알고리즘 문제를 푸는 백준, 프로그래머스 사이트와 비슷한 개념입니다. 캐글에 있는 여러 데이터셋과 문제들로 데이터 전처리, 모델 설계, 하이퍼파라미터 선택과 튜닝에 대해 익힐 수 있습니다. 경쟁자가 제출한 코드를 볼 수도 있고 다른 경쟁자에 비해 내가 얼마나 잘 풀었는지 확인해 볼 수도 있습니다. 현재 활성화 되고 있는 도전 과제를 풀어 볼 수도 있고, 머신러닝 입문 문제로 유명한 타이타닉 생존자 예측문제, 보스턴 주택 가격문제 등에 대한 데이터셋을 다운 받을 수도 있고 잘 푼사람들의 코드를 보면서 머신러닝 문제의 개념을 익힐 수도 있습니다. 캐글 이용하는 방법 알아보기 캐글 바로가기 ● 중고차 가격 예측 문제 풀어보기 실전 문..
[캐글] 중고차 가격 예측 모델1_선형회귀 Linear Regression()● Kaggle 캐글(Kaggle)은 머신러닝 대회로 유명한 플랫폼 입니다. 알고리즘 문제를 푸는 백준, 프로그래머스 사이트와 비슷한 개념입니다. 캐글에 있는 여러 데이터셋과 문제들로 데이터 전처리, 모델 설계, 하이퍼파라미터 선택과 튜닝에 대해 익힐 수 있습니다. 경쟁자가 제출한 코드를 볼 수도 있고 다른 경쟁자에 비해 내가 얼마나 잘 풀었는지 확인해 볼 수도 있습니다. 현재 활성화 되고 있는 도전 과제를 풀어 볼 수도 있고, 머신러닝 입문 문제로 유명한 타이타닉 생존자 예측문제, 보스턴 주택 가격문제 등에 대한 데이터셋을 다운 받을 수도 있고 잘 푼사람들의 코드를 보면서 머신러닝 문제의 개념을 익힐 수도 있습니다. 캐글 이용하는 방법 알아보기 캐글 바로가기 ● 중고차 가격 예측 문제 풀어보기 실전 문..
2020.01.16 -
새로운 언어나 프레임워크를 배울 때, 예전에는 두꺼운 책을 하나 사서 1장부터 공부 -> 예제 따라하기 이런식으로 공부를 했었는데요. 그렇게 되면 1장만 열심히 하고 뒤로 갈 수록 공부를 안하게 되더라구요..... 저만 그렇나요?그렇게 기초부터 하나씩 익혀가면 물론 좋겠지만, 사람의 기억력이라는 것이 원래 복습을 안하면 공부한 것에 10%만 남는다고 하잖아요? 그래서 프로그래밍을 아예 모르는 사람이 아니라면 새로운 언어나 프레임워크를 배울 때, 거기에 관련된 개념들의 대표 예제를 먼저 따라해본 후 개념을 대충 익히는 식으로 공부하는 것이 훨씬 효율적이라고 생각합니다. 나중에 실전 프로그래밍을 할 때 비슷한 개념이 나오면 다시 찾아볼때 복습한다고 생각하면서 공부하면 처음부터 두꺼운 책을 공부하는 것과 별로..
[Keras] 튜토리얼14(마지막) - 모델 SAVE, LOAD, Tensorboard 이용하기새로운 언어나 프레임워크를 배울 때, 예전에는 두꺼운 책을 하나 사서 1장부터 공부 -> 예제 따라하기 이런식으로 공부를 했었는데요. 그렇게 되면 1장만 열심히 하고 뒤로 갈 수록 공부를 안하게 되더라구요..... 저만 그렇나요?그렇게 기초부터 하나씩 익혀가면 물론 좋겠지만, 사람의 기억력이라는 것이 원래 복습을 안하면 공부한 것에 10%만 남는다고 하잖아요? 그래서 프로그래밍을 아예 모르는 사람이 아니라면 새로운 언어나 프레임워크를 배울 때, 거기에 관련된 개념들의 대표 예제를 먼저 따라해본 후 개념을 대충 익히는 식으로 공부하는 것이 훨씬 효율적이라고 생각합니다. 나중에 실전 프로그래밍을 할 때 비슷한 개념이 나오면 다시 찾아볼때 복습한다고 생각하면서 공부하면 처음부터 두꺼운 책을 공부하는 것과 별로..
2020.01.12 -
● 스케일링(Scaling)이란?스케일링이란 데이터 전처리 과정의 하나 입니다. 데이터의 값이 너무 크거나 혹은 작은 경우에 모델 알고리즘 학습과정에서 0으로 수렴하거나 무한으로 발산해 버릴 수 있는 것을 방지하거나, 예측 값이 범위를 벗어나는 입력데이터의 값에 더 큰 영향을 받는 것을 방지합니다.스케일링을 통해 다타원의 값들을 비교 분석하기 쉽게 만들어 줍니다.자료의 overflow나 underflow를 방지하고 최적화 과정에서 안정성 및 수렴 속도를 향상시킵니다. 예를 들어 키와 몸무게가 입력 데이터로 주어지고 라벨데이터는 100m달리기에 걸리는 시간을 예측한다고 하면, 키와 몸무게는 서로 범위, Unit이 다르기 때문에 더 큰 값을 가진 키 값이 결과 값에 더 큰 영향을 미치는 것을 방지하기 위해 ..
[Keras] 튜토리얼12 - Scikit-learn의 Scaler● 스케일링(Scaling)이란?스케일링이란 데이터 전처리 과정의 하나 입니다. 데이터의 값이 너무 크거나 혹은 작은 경우에 모델 알고리즘 학습과정에서 0으로 수렴하거나 무한으로 발산해 버릴 수 있는 것을 방지하거나, 예측 값이 범위를 벗어나는 입력데이터의 값에 더 큰 영향을 받는 것을 방지합니다.스케일링을 통해 다타원의 값들을 비교 분석하기 쉽게 만들어 줍니다.자료의 overflow나 underflow를 방지하고 최적화 과정에서 안정성 및 수렴 속도를 향상시킵니다. 예를 들어 키와 몸무게가 입력 데이터로 주어지고 라벨데이터는 100m달리기에 걸리는 시간을 예측한다고 하면, 키와 몸무게는 서로 범위, Unit이 다르기 때문에 더 큰 값을 가진 키 값이 결과 값에 더 큰 영향을 미치는 것을 방지하기 위해 ..
2020.01.05 -
● RNN(Recurrent Neural Network)란? RNN(Recurrent Neural Network)은 일반적인 인공 신경망인 FFNets(Feed-Forward Neural Networks)와 이름에서 부터 어떤 점이 다른지 드러납니다. FFNets는 데이터를 입력하면 연산이 입력층에서 은닉층을 거쳐 출력층까지 차근차근 진행되고 이 과정에서 입력 데이터는 모든 노드를 딱 한번씩 지나가게 됩니다. 그러나 RNN은 은닉층의 결과가 다시 같은 은닉층의 입력으로 들어가도록 연결되어 있습니다. 즉, FFNets는 시간 순서를 무시하고 현재 주어진 데이터만 가지고 판단합니다. 하지만 RNN은 지금 들어온 입력데이터와 과거에 입력 받았던 데이터를 동시에 고려합니다. ○ RNN의 사용RN..
[Keras] 튜토리얼 11 - LSTM(feat. RNN) 구현하기● RNN(Recurrent Neural Network)란? RNN(Recurrent Neural Network)은 일반적인 인공 신경망인 FFNets(Feed-Forward Neural Networks)와 이름에서 부터 어떤 점이 다른지 드러납니다. FFNets는 데이터를 입력하면 연산이 입력층에서 은닉층을 거쳐 출력층까지 차근차근 진행되고 이 과정에서 입력 데이터는 모든 노드를 딱 한번씩 지나가게 됩니다. 그러나 RNN은 은닉층의 결과가 다시 같은 은닉층의 입력으로 들어가도록 연결되어 있습니다. 즉, FFNets는 시간 순서를 무시하고 현재 주어진 데이터만 가지고 판단합니다. 하지만 RNN은 지금 들어온 입력데이터와 과거에 입력 받았던 데이터를 동시에 고려합니다. ○ RNN의 사용RN..
2020.01.04