목록AI/Deep Learning (3)
강
본 포스팅은 “MLFlow를 활용한 MLOps” 책을 통해 학습하고 추가적으로 공부하여 정리한 글입니다. 실습 코드 전체 버전과 Tensorflow 의외에 다른 프레임워크를 다룬 코드는 깃허브에 정리되어 있습니다. 머신러닝 파이프라인 자동화 머신러닝과 딥러닝 모델의 수요는 ChatGPT의 등장과 함께 더더욱 늘어나고 있고 앞으로도 늘어날 것 이다. 회사 입장에서 AI 모델을 사용하기 위해 일반적으로 아래의 과정을 따른다. 이러한 배포 구조를 ML 파이프라인이라고 부르며 모든 과정은 한번만 수행되는 것이 아닌 파이프라인 배포 상황에 따라서 유동적으로 조정될 여지가 있어 반복적인 성향을 띈다. 따라서 Frontend, Backend, Data Engineer 등의 반복되는 업무를 자동화 해주고 인프라를 구성..
Keras에는 미리 학습된 모델(pretrained model)들을 제공해 준다. 따라서 제공해주는 모델들을 자신의 컴퓨터 환경에 저장하고 추후에 로드하여 사용할 수 있다. 이번 포스팅에서는 pretrained model을 local 환경에 save하고 load해오는 방법을 알아보자. 작업 환경 pip install tensorflow pip install keras 필요한 라이브러리를 pip로 깔아주자. 나는 tensorflow 1.15.0, keras 2.1.5 버전에서 진행했다. pretrained model list keras에는 위와 같이 MobileNet처럼 Parameters수가 작은 모델 부터 VGG16같은 Heavy한 모델도 지원해주고 있다. save model save model을 위한..
딥러닝은 크게 두가지 단계로 나눌 수 있다. 한가지는 대다수의 사람들이 알고 있는 학습(Training) 이다. 학습과정의 특징은 축적된 많은 데이터를 바탕으로 각 신경망들의 Weight를 업데이트 해가며 딥러닝 모델을 만들어 가는 과정이다. 반면 추론(Inference)은 학습을 통해 만들어진 모델을 실제로 새로운 입력 데이터에 적용하여 결과를 내놓는 단계이다. 학습과 추론 비교 학습과 추론의 차이점을 조금 더 살펴보겠다. 그림에서 보면 알 수 있듯, 학습을 위해서는 많은 데이터가 필요하다. 그리고 그 데이터 들은 우선 순방향 전파를 통해 각 신경망을 거쳐가고 Loss function을 통해 에러율이 얼마나 되는지 판단하고, 그 에러율을 줄이기 위해 역방향 전파로 다시 신경망을 반대로 지나가면서 각 신..