stanford-nlp - CRFClassifier:从流中加载模型给出异常“无效的流标头:1F8B0800”
问题描述
我正在尝试CRFClassifier
从文件加载模型。这种方式有效:
// this works
classifier = CRFClassifier.getClassifier("../res/stanford-ner-2018-02-27/classifiers/english.all.3class.distsim.crf.ser.gz");
但是,当我想使用 streaminvalid stream header: 1F8B0800
时,出现异常:
// this throws an exception
String modelResourcePath = "../res/stanford-ner-2018-02-27/classifiers/english.all.3class.distsim.crf.ser.gz";
BufferedInputStream stream = new BufferedInputStream(new FileInputStream(modelResourcePath));
classifier = CRFClassifier.getClassifier(stream);
例外:
Exception in thread "main" java.io.StreamCorruptedException: invalid stream header: 1F8B0800
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:866)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1473)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1456)
at edu.stanford.nlp.ie.crf.CRFClassifier.getClassifier(CRFClassifier.java:2890)
at com.sv.research.ner.stanford.StanfordEntityExtractor.<init>(StanfordEntityExtractor.java:34)
at com.sv.research.ner.stanford.StanfordEntityExtractor.main(StanfordEntityExtractor.java:59)
我希望这两种方式都是等价的。我通过流加载的原因是最终我想使用以下方式从 JAR 资源加载模型:
stream = ClassLoader.getSystemClassLoader().getResourceAsStream(modelResourcePath));
解决方案
据我从他们的来源看到的,您尝试使用的分类器的方式是通过 GZIPInputStream 序列化的。
那么您可以尝试反序列化它们序列化的方式,如下所示:
BufferedInputStream stream = new BufferedInputStream(new GZIPInputStream(new FileInputStream(modelResourcePath)));
干杯
推荐阅读
- swiftui - macOS 和 iOS 的不同列表样式
- mxnet - 通过 MXNet 在模型并行性中训练insightface 时出现错误“ModuleNotFoundError: No module named 'parall_module_dist'”
- android - 如何在小部件树中显示 Flutter 插件小部件
- angular - 测试 emit 已在 karma 中调用不工作
- python-3.6 - Nominatim 库偶尔会为连接池提供错误
- c# - C# DateTime.Tostring(),句点而不是冒号,不管或提供的格式
- javascript - 如何从js中的字符串中提取每个整数或浮点数(正数或负数)
- elasticsearch - 获取elasticsearch集群中的索引总数
- antd - 网格中具有相同高度的 antd 卡
- kernel - libperf PERF_COUNT_HW_CACHE_REFERENCES