• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

python cloudpickle

date: 2025-01-09 excerpt: python cloudpickleの使い方

tag: pythoncloudpickle


python cloudpickle

概要

  • pickleの拡張版
  • lambda式や__main__で定義された関数をシリアライズ可能で別の名前空間で復元可能
    • 分散コンピューティングやクラウドコンピューティングでの利用を想定したライブラリ

インストール

$ pip install cloudpickle

使い方

シリアライズ

# main.py
class Unchi:
    def add(self, a, b):
        return a + b

with open('data/u1.pkl', 'wb') as fp:
    fp.write(pickle.dumps(Unchi()))

with open('data/u2.pkl', 'wb') as fp:
    fp.write(cloudpickle.dumps(Unchi()))

デシリアライズ

# aaa.py
import pickle

try:
    with open('data/u1.pkl', 'rb') as fp:
        u1 = pickle.load(fp)
except Exception as exc:
    print(exc) # Can't get attribute 'Unchi' on <module '__main__'>

with open('data/u2.pkl', 'rb') as fp:
    u2 = pickle.load(fp)
assert u2.add(1, 2) == 3


pythoncloudpickle Share Tweet