[Python Library] pickle - 파이썬 객체 직렬화, 역직렬화 라이브러리
- pickle [.pkl]
파이썬 객체 직렬화, 역직렬화 라이브러리
특징
pickle
라이브러리는 파이썬 객체를 파일에 저장하여 다른 시스템에서 사용할 수 있게 한다
pickle
라이브러리를 이용하여 파일에 저장할 수 있는 객체는 파이썬의 모든 객체
리스트, 딕셔너리, 클래스 인스턴스, 함수, 모듈 등을 모두 저장할 수 있다주의점
pickle
라이브러리로 저장된 파일은 파이썬 외부에서는 읽을 수 없고, 저장된 객체의 버전이 바뀌면 역직렬화가 실패할 수 있다
따라서pickle
라이브러리를 이용하여 파일에 저장할 때는 파일의 안정성과 객체의 버전 관리를 고려하여 사용해야 한다
- Save
import pickle
# 직렬화할 파이썬 객체 생성
person = {"name": "Alice", "age": 25}
# 직렬화한 객체를 저장할 파일 생성
with open("person.pkl", "wb") as f:
pickle.dump(person, f)
- Load
import pickle
# 역직렬화할 파일을 연다.
with open("person.pkl", "rb") as f:
person = pickle.load(f)
# 역직렬화된 파이썬 객체 출력
print(person)
- Example
머신러닝 학습 모델도 저장 가능
import pickle
from sklearn.linear_model import LogisticRegression
# 모델 학습
X = [[1, 2], [3, 4], [5, 6]]
y = [0, 0, 1]
model = LogisticRegression().fit(X, y)
# 모델 저장
with open('logistic_regression.pkl', 'wb') as f:
pickle.dump(model, f)
# 모델 불러오기
with open('logistic_regression.pkl', 'rb') as f:
model = pickle.load(f)
# 새로운 데이터로 예측
X_new = [[7, 8], [9, 10]]
y_new = model.predict(X_new)
print(y_new)
댓글남기기