인프런 커뮤니티 질문&답변

DHoon Lim님의 프로필 이미지

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

sklearn model을 java에서 load

작성

·

1.4K

0

안녕하세요. 파이썬 머신러닝 완벽가이드, 캐글 Advanced 머신러닝 실전 박치기 강의와 책(파이썬 머신러닝 완벽가이드)을 통해 머신러닝을 공부하고 있는 직장인 입니다.

수업내용과는 직접적으로 관련은 없지만 궁금한게 있어서 문의드립니다. sklearn으로 만들어진 lightGBM, RandomForest 모델을 save해서 load하는데 pickle , joblib 등을 활용이 되는건 알겠는데 그렇게 저장된 model을 java에서 호출하여 사용하는 방법이 혹시 있는지 알고싶습니다. tensorflow는 model save시 hdf5 형식으로 저장 후 java에서 load해서 사용한다고들 하는데 sklearn으로 만들어진 모델은 혹시 어떤 방법이 있을까요?

* 강의와 직접적인 연관이 없는 질문인거 같아 메일을 통해 문의를 드려볼까 하였으나, 메일주소를 알수가 없어서 이렇게 질문게시판에 남깁니다.

답변 2

0

DHoon Lim님의 프로필 이미지
DHoon Lim
질문자

네~ 답변 감사드립니다. 

java배치(N개의 배치가 동시에 수행됨)를 통해 실시간(1초 마다 수집)으로 분류대상을 수집하고 

수집된 대상을 전처리 후 파이썬으로 구현된 분류모델을 통해 예측된 결과를 DB에 저장하여 서비스 하기 위해서

java와 python 모델의 연동이 필요했습니다.

pyspark, hdf5 file, REST API, gRPC 등의 내용은 찾았으나 직접적으로 사용(수행시간 및 안정성 확보를 위해)되는 부분이 없어서 혹시 도움을 얻을수 있을까 문의드렸습니다.

다시 한번 답변해주셔 감사합니다. 

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

제가 알기로는 scikit learn 모델을 java로 Loading하는 방법은 없는 걸로 알고 있습니다. 검색을 해봤더니, 아래와 같은 package가 있는데 사용해 보진 않아서 제대로 동작하는지는 잘 모르겠습니다.

https://pypi.org/project/sklearn-porter/

어떤 이유에서 java로 scikit learn 모델을 loading하시려는지 모르겠지만, 만약 학습된 모델을 java로 호출하기 위함이라면,  보통은  application 서버(예를 들어 Flask)에 해당 모델을 기동하고 API Message를 전달해서 predict를 수행합니다

감사합니다.