Pickling 经过训练的 NLTK 模型

2023-12-21

所以我目前正在一组手术数据上训练隐马尔可夫模型,如下所示:

nltkTrainer = nltk.tag.hmm.HiddenMarkovModelTrainer(range(15),range(90))
model = nltkTrainer.train_unsupervised(data, max_iterations=3)

如果有帮助,“模型”将被指定为“HiddenMarkovModelTagger 15 个状态和 90 个输出符号”

然而,在我的机器上运行这个完整的训练需要将近一个小时。我希望能够序列化 nltk 模型输出“模型”以在会话之间加载和保存。我读过周围的资料,似乎每个人都使用 Python 内置的 pickle,它对于已知的数据类型来说工作得很好。我什至可以使用以下代码来腌制我训练过的模型变量:

f = open('my_classifier.pickle', 'wb')
pickle.dump(model, f)
f.close()

但是当尝试加载 pickled 文件时,我收到错误:

/usr/local/lib/python2.7/dist-packages/nltk/probability.pyc in __init__(self, probdist_dict)
   1971         """
   1972         defaultdict.__init__(self, DictionaryProbDist)
-> 1973         self.update(probdist_dict)
   1974 
   1975 ##//////////////////////////////////////////////////////

TypeError: 'type' object is not iterable

有人找到解决这个问题的方法吗?是NLTK的问题吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pickling 经过训练的 NLTK 模型 的相关文章

随机推荐