我正试图在Golang服务器上加载一个python训练过的分类器。
在python中,我通常这样做:
classifier = pickle.load( open("classifier1.p", "rb"))
在Golang有类似的东西吗?
我花了3天来训练数据,我不能再等了。因此,我尝试使用下面的代码将classfier1.p转换为JSON格式。
fpkl = pickle.load( open("whatever/classifier1.p", "rb"))
fjson = open("whatever/classifier.json", "w")
json.dump(fpkl, fjson, ensure_ascii=False, sort_keys=True, indent=4)
出现错误:'Pipeline‘类型的对象不可JSON序列化
我需要一些建议。对于我的第一个问题,有没有什么Golang等价物?如果没有,我可以做什么来避免再次进行数据训练?
提前谢谢。
发布于 2018-08-22 00:31:20
The documentation for the Python pickle library备注:
pickle
使用的数据格式是特定于
的。这..。意味着非Python程序可能无法重新构造已酸洗的Python对象。
原则上,您可以读回格式(它“仅仅”是一个表示对象图的字节流),并为pickle文件中的Python类名引用分配一些含义。这将高度特定于您正在读回的特定对象格式。
我的直觉是,如果你需要3天的时间来使用Go原生工具重新训练你的模型,或者将其导出为一种更中立的格式,这可能会比尝试解码pickle文件更快,也不会那么令人沮丧。
https://stackoverflow.com/questions/51957339
复制