如何将 Stanza 导出为 ONNX 格式? 仅仅简单地训练模型似乎是不可能的。
这里有一个解释:https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html
我在这里为这个实验创建了一个节的叉子https://github.com/vivkvv/stanza。另请参阅我的提交 https://github.com/vivkvv/stanza/commits?author=vivkvv。
我使用 pipeline_demo.py 进行测试。我添加的主要内容是在 models/tokanization/trainer.py 中第 77 行下方的代码
pred = self.model(units, features)
由于解释我添加了
torch.onnx.export(
self.model,
(units, features),
onnx_export_file_name,
opset_version=9,
export_params=True,
do_constant_folding=True,
input_names=['input'],
output_names=['output'],
dynamic_axes={
'input': {0: 'batch_size'},
'output': {0: 'batch_size'}
}
)
它适用于标记化。但这同样不适用于例如pos 或 lemmatizer(请参阅我对 PartOfSpeech 的提交)。对于不同的 opset_version,我收到不同的错误。
我在 github/stanza 上创建了一个问题,你可以在那里看到https://github.com/stanfordnlp/stanza/issues/893
也许你设法克服了这个问题?