tyl*_*eha 6 python pickle nltk python-2.7 hidden-markov-models
所以我目前正在对一组手术数据训练一个隐马尔可夫模型,如下所示:
nltkTrainer = nltk.tag.hmm.HiddenMarkovModelTrainer(range(15),range(90))
model = nltkTrainer.train_unsupervised(data, max_iterations=3)
Run Code Online (Sandbox Code Playgroud)
如果有帮助,“模型”将作为“HiddenMarkovModelTagger 15 个状态和 90 个输出符号”给出
然而,在我的机器上运行这个完整的训练需要将近一个小时。我希望能够序列化 nltk 模型输出“模型”以在会话之间加载和保存。我已经阅读过,似乎每个人都在使用 Python 的内置 pickle,它对已知数据类型工作得很好。我什至可以使用以下代码腌制我训练的模型变量:
f = open('my_classifier.pickle', 'wb')
pickle.dump(model, f)
f.close()
Run Code Online (Sandbox Code Playgroud)
但是在尝试加载腌制文件时,出现错误:
/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
Run Code Online (Sandbox Code Playgroud)
有没有人找到解决这个问题的方法?这是 NLTK 的问题吗?
| 归档时间: |
|
| 查看次数: |
2041 次 |
| 最近记录: |