gpt4 book ai didi

python - 如何 pickle scipy.stats 分布(不能 pickle instancemethod 对象)

转载 作者:太空狗 更新时间:2023-10-30 02:21:45 24 4
gpt4 key购买 nike

如何保存 scipy.stats 分布?

例如:

a = [scipy.stats.norm(0,1), scipy.stats.norm(0,2)]
with open("distro.pickle", 'w') as f:
pickle.dump(a, f)

这样做我得到一个 TypeError: can't pickle instancemethod objects

最佳答案

他们不支持 pickle 。 “解决”您的问题的更简单方法是 pickle 参数,并在取消 pickle 时创建一个新对象:

>>> from collections import namedtuple
>>> Norm = namedtuple('Norm', 'mu variance')
>>> def pickle_norm(n):
... return pickle.dumps(Norm(*n.args))
...
>>> def unpickle_norm(s):
... return scipy.stats.norm(*pickle.loads(s))
...
>>> s = pickle_norm(scipy.stats.norm(5, 10))
>>> d = unpickle_norm(s)

关于python - 如何 pickle scipy.stats 分布(不能 pickle instancemethod 对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14235693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com