본문 바로가기
즐거운, 즐겁게/Pandas

pickle과 joblib을 이용하여 모델 저장하는 법

by DoubleS2 2021. 5. 19.

기계학습 모델을 저장하거나 전처리 모델을 저장해야할 때 자주 사용하는 저장 방법에 대해 정리하려합니다.

 

저는 2가지 방법을 같이 사용하고 있는데요

#1) joblib 이용

먼저 joblib 라이브러리를 이용하는 방법입니다.

# model save 
import joblib 
joblib.dump(model, 'model_210519.pkl')

 

당 파일을 읽어 올 땐 다음과 같아요

model = joblib.load("model_210519.pkl")

 

#2) pickle 이용

두번째는 pickle 라이브러리를 이용하는 방법이예요

import pickle 
with open('model_210519.pickle','wb') as fw:
    pickle.dump(model, fw)

 

해당 파일을 읽어 올 땐

 

import pickle 
with open('model_210519.pickle', 'rb') as f: 
    model = pickle.load(f)

주의할 점은 joblib을 이용하면 pickle라이브러리로 load가 안되고 반대도 마찬가지입니다!

그래서 한 번 사용하실 때 동일한 라이브러리를 이용해서 save와 load를 해야합니다.

 

여기서 개인적인 궁금증❓

.pkl가 pickle의 차이는 무엇일까요..피클 프로토콜의 차이라는데 어렵네요 ㅎㅎ