像使用API调用一样使用Pickle对象



我训练了一个朴素贝叶斯分类器来做基本的情感分析。型号是208MB。我只想加载它一次,然后使用Gearman工作器不断调用模型以获得结果。装载一次需要相当长的时间。我如何加载模型只有一次,然后继续调用它?

一些代码,希望有帮助:

import nltk.data
c=nltk.data.load("/path/to/classifier.pickle")

这仍然是加载器脚本。

现在我有一个gearman worker脚本,它应该调用这个"c"对象,然后对文本进行分类。
c.classify('features')

这就是我想做的。谢谢。

如果问题是如何使用pickle,那么这就是答案

    import pickle
    class Model(object):
        #some crazy array of data
        def getClass(sentiment)
            #return class of sentiment
    def loadModel(filename):
        f = open(filename, 'rb')
        res = pickle.load(f)
        f.close()
        return res
    def saveModel(model, filename):
        f = open(filename, 'wb')
        pickle.dump(model, f)
        f.close()
    m = loadModel('bayesian.pickle')

如果以这种方式加载大对象是一个问题,那么我不知道pickle是否可以帮助

相关内容

最新更新