像API调用一样使用Pickle对象

时间:2011-04-05 10:39:32

标签: python pickle

我训练了NaiveBayes分类器进行基本情绪分析。该型号为208MB。我只想加载一次,然后使用Gearman工作人员继续调用模型来获得结果。加载它只需要很长时间。我如何只加载模型一次然后继续调用它?

一些代码,希望这会有所帮助:

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

这仍然是加载器脚本。

现在我有一个gearman worker脚本,应该调用这个“c”对象,然后对文本进行分类。

c.classify('features')

这就是我想要做的。 谢谢。

1 个答案:

答案 0 :(得分:0)

如果问题是如何使用泡菜,那就是答案

    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')

如果以这种方式加载大型物体是个问题,我不知道泡菜是否有帮助