我可以在Golang中加载经过Python训练的分类器吗? - python

我正在尝试在Golang服务器中加载经过python训练的分类器。

在python中,我通常这样做:

classifier = pickle.load( open("classifier1.p", "rb"))

在Golang中有等同的功能吗?

我花了3天的时间来训练数据,我等不及了。因此,我尝试使用此代码将classifier1.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)

发生错误:“管道”类型的对象不可JSON序列化

我需要一些建议。我的第一个问题有任何等效的Golang吗?如果没有,我该怎么做以避免再次进行数据训练?

提前致谢。

参考方案

The documentation for the Python pickle library注释:

pickle使用的数据格式是特定于Python的。这意味着非Python程序可能无法重建腌制的Python对象。

原则上,您可以读回格式(它只是表示对象图的字节流),并为pickle文件中的Python类名称引用分配一些含义。这将高度特定于您正在读取的特定对象格式。

我的直觉是,如果要花3天的时间使用Go-native工具重新训练模型或将其导出为更中性的格式,那可能比尝试解码pickle文件更快,更轻松。

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…

Python:无法识别Pip命令 - python

这是我拍摄的屏幕截图。当我尝试在命令提示符下使用pip时,出现以下错误消息:pip无法识别为内部或外部命令,可操作程序或批处理文件。我已经检查了这个线程:How do I install pip on Windows?我所能找到的就是我必须将"C:\PythonX\Scripts"添加到我的类路径中,其中X代表python版本。如您在我的…

Python:如何将有效的uuid从String转换为UUID? - python

我收到的数据是 { "name": "Unknown", "parent": "Uncategorized", "uuid": "06335e84-2872-4914-8c5d-3ed07d2a2f16" }, 我需要将uuid从Strin…

Python 3会流行吗? - python

我已经学习了一些Python 2和Python 3,似乎Python 2总体上比Python 3更好。这就是我的问题所在。是否有充分的理由真正切换到python 3? 参考方案 总体上,甚至在大多数细节上,Python3都比Python2更好。关于第三方库, Python 3落后于的唯一区域是。使Python变得如此出色的原因不仅在于它作为一种语言的内在特性…

json.dumps弄乱顺序 - python

我正在使用json module创建一个包含类似条目的json文件json.dumps({"fields": { "name": "%s", "city": "%s", "status": "%s", "cou…