- 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)

댓글남기기