无法腌制/莳萝喀拉拉邦的物体

时间:2018-06-30 00:40:19

标签: python keras pickle dill

我正在尝试序列化dill中的对象:

import dill
import keras
with open('temp.pkl', 'w') as f:
    dill.dump({'clf':keras.optimizers.RMSprop(lr=20.0)}, f)
with open('temp.pkl', 'r') as f:
    d = dill.load(f) # errors here

发生了我从未见过的错误:

PicklingError: Can't pickle <class 'keras.backend.mxnet_backend.get_optimizers.<locals>.RMSprop'>: it's not found as keras.backend.mxnet_backend.get_optimizers.<locals>.RMSprop

没有被发现是什么意思?

注意:要重现此内容,需要安装dillkeras

有趣的事实:

如果我使用tensorflow的自定义keras api:

import tensorflow as tf
...
with open('temp.yml', 'wt') as f:
    yaml.dump({'clf':tf.keras.optimizers.RMSprop}, f)
...

它工作正常。

0 个答案:

没有答案