Make coref entry points work without PyTorch#23
Merged
Conversation
Before this PR, in environments without PyTorch, using spacy experimental can fail due to attempts to load entry points. This change makes it so the types required for class definitions (torch.nn.Module and torch.Tensor) are stubbed to object when torch is not available.
Without this, it could be unclear why coref didn't work without torch.
This follows the model of the biaffine parser.
Contributor
Author
|
After thinking about it more, this PR has been updated so that the coref components are structured like the experimental parser implementation. The parts of the code that require PyTorch are put in their own files, and if those classes can't be initialized, then attempting to instantiate them will raise an error instructing the user to install PyTorch. On the other hand, as long as you aren't actually using them, entry points can be initialized without issue. |
adrianeboyd
reviewed
Sep 27, 2022
This is the same as the changes from #24, since they worked.
Contributor
|
This seems okay for now. Can you clean up the imports first? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before this PR, in environments without PyTorch, using spacy experimental can fail due to attempts to load entry points. This change makes it so the types required for class definitions (torch.nn.Module and torch.Tensor) are stubbed to
objectwhen torch is not available.