【问题标题】:Assert that an object can be serialized using joblib断言可以使用 joblib 序列化对象
【发布时间】:2020-01-24 18:18:09
【问题描述】:

我想测试一个对象是否可以使用joblib(!) 进行序列化。比如:

assert pickle.dumps(my_obj)

似乎是使用picklejoblib 不提供.dumps 的方式。我试着做:

with tempfile.TemporaryFile("wb") as f:
        assert joblib.dump(my_obj, f)

但这失败了,因为在这种情况下joblib.dump 返回None(尽管根据doc,它应该返回计算结果为True 的东西)。

如果我使用joblib,那将是什么?

【问题讨论】:

    标签: python serialization scikit-learn joblib


    【解决方案1】:

    根据来源,如果您传入文件对象,则不会返回任何内容,仅当您传入文件名时。 https://github.com/joblib/joblib/blob/master/joblib/numpy_pickle.py#L510

    所以使用命名的临时文件并传递名称应该可以解决问题。

    运行代码并对文件大小进行断言似乎也是一种有效的策略。

    【讨论】:

    • 我打开了this。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    相关资源
    最近更新 更多