글쟁이, 코딩한다

0122 / k_digital 32일차 / 딥러닝 etc 본문

나는 코딩도 한다/TIL

0122 / k_digital 32일차 / 딥러닝 etc

Algori 2021. 1. 22. 23:40

0.

 예! 금요일!

 

 

Auto ML

  모델 제작을 돕는 프로그램들. 기본적으로 로컬 환경에서는 사용이 어렵다. 구글 콜랩 환경에서 실습했다.

 1) Pycaret(파이캐럿)

       traditional ML 모델 만들기를 도와주는 라이브러리 

 

알아두면 도움이 될 명령어들
 setup : 모델 자동 생성을 위한 준비 #자동 전처리 #라벨 데이터 onehot value 인코딩
 create_model( ) : 모델 자동 생성 ; 일정 트레이닝
 tune_model( ) : 모델을 일정 기준(accuracy)을 바탕으로 튜닝
 compare_model( ) : 일정 기준(accuracy)을 바탕으로 모델들을 돌려보고 상위 결과 모델들을 돌려준다
 evaluate_model( ) : 모델을 불러 성능, hyper-params 값 등을 보여준다 #Hyperparameters, AUC, Threshold, Feature Importance를 시각화해서 볼 수 있다! #Feature Selection을 클릭하면 작동이 멎는다. 포기할것
 predict_model( ) : 테스트 데이터를 불러와 예측값 확인
 blend_model( ) : 서로 다른 모델들을 짬뽕
 finalize_model( ) : 최종 모델의 하이퍼파라미터들을 확정
 save_model( ) : 모델의 파이프라인 등을 모두 저장 <=> load_model( ) : 모델 불러오기

 

 2) Keras-tuner

       DL 모델 만들기를 위한 라이브러리
       보통은 tutorial 코드를 받아와서 필요한 부분을 수정하며 간다

 가동주문  import kerastuner as kt

 

#layer Dence문에서는 for문을 돌려 layers 수, units 수, activation 등을 실험한다. 
**최소값, 최대값(Int) 실험할 activation 함수(Choice) 등을 알려준다.

 

#compile문 직전에는 optimizer의 학습율을 Choice한다. 

 

tuner 설정

kt.BayesianOptimization( )

아규먼트들 #모델명 #objective= 목적함수 #max_trials = 서로 다른 hyper-params 조합 시도 횟수

                 #directory= 디렉토리 이름 #project_name= 튜닝 프로젝트 이름 
그 외 탐색법: kt.Hyperband(튜토리얼 기본), kt.RandomSearch, kt.Sklearn(ML용)

 

 tuner.search

tuner.search(x_train, y_train, epochs=10, validation_data = (x_test, y_test))

   #데이터와 epoch, validation data 등을 설정해서 돌린다. 
   #위에서 설정한 max_trial 수만큼 돈다. 한 번 hyper-param 조합마다 설정한 epoch를 돌며 학습한다.

 

tuner.summary

tuner.results_summary(num_trials=3)

    #실험 결과 상위 3개를 불러와 보여준다.

 

get_best_models

models = tuner.get_best_models(num_models=3)
top_model = models[0]

#결과 값을 바탕으로 모델 생성 #summary, evaluate, fit 모두 가능하다.

#모델 id를 바탕으로 필요한 모델을 받아갈 수도 있다.

 

 

쉽고 재미있는 딥러닝 기반 API, 라이브러리들

 

Open Civil (얼굴인식)

 

Speech_Recognition (STT)

 

네이버 API (파파고, 얼굴인식 등)

 

Pyautogui (OS 설정)

 #파이-오토-지유아이다. 파이아토가이가 아니다.

 

Twilio로 문자 보내기

 

공부했지만, 차마 기록할만큼 이해하지는 못한 것

 

CNN

 

 

Comments