[TIL]Day 27

이재희·2020년 12월 26일
0

TIL

목록 보기
27/312

텐서플로 사용하려면 파이썬 버전 3.8 아래여야함...

AWS를 활용한 인공지능 모델 배포
클라우드 환경에서늬 인공지능 모델 서빙 API 개발

문제 정의, 데이터 준비, 모델 학습 및 검증, 모델 배포, 모니터링의 과정을 통해 실제 서비스에 기계학습 모델을 적용

모델 서빙
모델 트레이닝 -> 학습된 모델 저장(시리얼라이징 모델) -> 모델 불러오고 핸들러가 처리하여 리턴하는 과정(서빙 모델)

시리얼라이제이션

  • 모델 오브젝트를 디스크에 쓰는 과정(모델을 학습한다)
    디시리얼라이제이션
  • 디스트에 쓰인 것을 파이썬 혹은 환경으로 불러와 추론 및 학습이 가능(학습된 모델을 다시 불러와 특정 입력값에 대한 예측 수행)

핸들러 구조

  • 이니셜라이즈
    데이터 처리나 모델, configuration 등 초기화
  • 전처리
    입력된 값에 대한 전처리 수행
  • inference
    불러온 모델을 가지고 추론을 한다.
  • postprocess
    결과를 보정
  • handel
    이러한 일련의 과정을 핸들링함
    API에서는 여기만 호출됨
    실습
    conda activate pytorch_p36
    python train_ml.py #모델 학습 진행
    python
    import joblib
    model = joblib.load('model/ml_model.pkl')
    vectorizer = joblib.load('model/ml_vectorizer.pkl')
    text = '재미있는 영화입니다.'
    model_input = vectorizer.transform([text])
    model_output = model.predict_proba(model_input)
    model_output = model_output.argmax(axis=1)
    id2label = {0:'negative',1:'positive'}
    print(id2label[model_output])
    
    #mpdel.py 작성
    
    #유닛테스트
    python -m unittest -v test_model_handler.py
    
    #Flask API 배포
    #app.py 작성후
    python app.py
    #test
    python3
    import requests
    url = "your url"
    data = {"text":["정말 재밌었다.","노잼이다"], "use_fast" : False}
    response = requests.post(url,json=data)
    print(response.content)
profile
오늘부터 열심히 산다

0개의 댓글