Skip to content

Can't reproduce export_onnx example from TUTORIAL_13 #2964

@klimentij

Description

@klimentij

Describe the bug
When I try to export ner-large transformer embeddings to ONNX, I see an error TypeError: forward() missing 1 required positional argument: 'lengths'

To Reproduce

  1. Install Flair==0.11.3 from git repo: pip install git+https://github.com/flairNLP/flair.git (TransformerOnnxEmbeddings class is not available when installed from pip)
  2. Run code from the tutorial 13 with my own sentences:
from flair.models import SequenceTagger
from flair.embeddings import TransformerWordEmbeddings, TransformerDocumentEmbeddings

model = SequenceTagger.load("ner-large")
assert isinstance(model.embeddings, (TransformerWordEmbeddings, TransformerDocumentEmbeddings))


sentences = [Sentence(s) for s in ['short sentence', 'this is very long sentence']]
model = SequenceTagger.load("ner-large")
model.embeddings = model.embeddings.export_onnx("flert-embeddings.onnx", sentences, providers=["CUDAExecutionProvider", "CPUExecutionProvider"])
  1. I get the error TypeError: forward() missing 1 required positional argument: 'lengths'

Expected behavior
This creates a file flert-embeddings.onnx which stores the exported Onnx Model.

Screenshots
image

Environment (please complete the following information):

  • Deep Learning AMI GPU PyTorch 1.12.1 (Amazon Linux 2)
  • NVIDIA driver version: 510.73.08
  • CUDA version: 11.6
  • Flair 0.11.3
  • onnx 1.12.0
  • onnxruntime 1.12.1
  • Pytorch 1.12.1.post201

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions