断言一个对象可以使用 joblib 序列化
Assert that an object can be serialized using joblib
我想测试是否可以使用 joblib
(!) 序列化对象。类似于:
assert pickle.dumps(my_obj)
似乎是使用pickle
的方式,但joblib
不提供.dumps
。我尝试这样做:
with tempfile.TemporaryFile("wb") as f:
assert joblib.dump(my_obj, f)
但这失败了,因为在这种情况下 joblib.dump
returns None
(尽管根据 doc 它应该 return 某些计算结果为 True
).
如果我使用 joblib
,等效项是什么?
根据消息来源,如果您传入文件对象,则不会返回任何内容,只有在您传入文件名时才会返回。 https://github.com/joblib/joblib/blob/master/joblib/numpy_pickle.py#L510
因此使用命名的临时文件并传递名称应该可以解决问题。
运行 代码并对文件大小进行断言似乎也是一个有效的策略。
我想测试是否可以使用 joblib
(!) 序列化对象。类似于:
assert pickle.dumps(my_obj)
似乎是使用pickle
的方式,但joblib
不提供.dumps
。我尝试这样做:
with tempfile.TemporaryFile("wb") as f:
assert joblib.dump(my_obj, f)
但这失败了,因为在这种情况下 joblib.dump
returns None
(尽管根据 doc 它应该 return 某些计算结果为 True
).
如果我使用 joblib
,等效项是什么?
根据消息来源,如果您传入文件对象,则不会返回任何内容,只有在您传入文件名时才会返回。 https://github.com/joblib/joblib/blob/master/joblib/numpy_pickle.py#L510
因此使用命名的临时文件并传递名称应该可以解决问题。
运行 代码并对文件大小进行断言似乎也是一个有效的策略。