fix: Ensure eval mode for TableReader model for predictions #3743
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.
Related Issues
Proposed Changes:
I added a call to make sure to set the TableReader model to eval mode when running a prediction. Otherwise, currently, if the model is set to train mode the predictions become random due to layers like BatchNorm and dropout being present in the underlying model architecture. This is something we already do for some of our nodes like the DensePassageRetriever.
How did you test it?
I added a new unit test to make sure everything works. I did confirm that this unit test fails without the new changes.
Notes for the reviewer
This probably was not noticed before because the model is set to eval mode by default when loading it.
Checklist