Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[basicdataset] Fixed out of bound limit #1599

Merged
merged 3 commits into from
Apr 28, 2022

Conversation

WHALEEYE
Copy link
Contributor

Description

In Stanford Question Answering Dataset the limit is specially handled, and there exists a severe bug that if the limit is too large (or the limit is set as default) it will cause an IndexOutOfBoundException.

This PR fixed this bug and changed the test cases into a more strict one so that this bug will be detected.

@codecov-commenter
Copy link

codecov-commenter commented Apr 24, 2022

Codecov Report

Merging #1599 (7ce7d68) into master (bb5073f) will decrease coverage by 1.20%.
The diff coverage is 60.33%.

@@             Coverage Diff              @@
##             master    #1599      +/-   ##
============================================
- Coverage     72.08%   70.88%   -1.21%     
- Complexity     5126     5406     +280     
============================================
  Files           473      504      +31     
  Lines         21970    23619    +1649     
  Branches       2351     2570     +219     
============================================
+ Hits          15838    16743     +905     
- Misses         4925     5594     +669     
- Partials       1207     1282      +75     
Impacted Files Coverage Δ
api/src/main/java/ai/djl/modality/cv/Image.java 69.23% <ø> (-4.11%) ⬇️
...i/djl/modality/cv/translator/BigGANTranslator.java 21.42% <ø> (-5.24%) ⬇️
...odality/cv/translator/BigGANTranslatorFactory.java 33.33% <0.00%> (+8.33%) ⬆️
...nslator/InstanceSegmentationTranslatorFactory.java 14.28% <0.00%> (-3.90%) ⬇️
.../modality/cv/translator/YoloTranslatorFactory.java 8.33% <0.00%> (-1.67%) ⬇️
...i/djl/modality/cv/translator/YoloV5Translator.java 5.69% <0.00%> (ø)
...odality/cv/translator/YoloV5TranslatorFactory.java 8.33% <0.00%> (-1.67%) ⬇️
...pi/src/main/java/ai/djl/ndarray/BytesSupplier.java 54.54% <0.00%> (-12.13%) ⬇️
...ain/java/ai/djl/ndarray/index/dim/NDIndexPick.java 100.00% <ø> (ø)
api/src/main/java/ai/djl/nn/Blocks.java 75.00% <0.00%> (-25.00%) ⬇️
... and 232 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 109c9b4...7ce7d68. Read the comment docs.

: questionInfo.answerIndexList.get(questionInfo.answerIndexList.size() - 1);
textData.preprocess(
manager, newTextData.subList(0, Math.min(lastIndex + 1, newTextData.size())));
int limit;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments:

  1. avoid use limit as local variable, it's confusing because it's clash with this.limit
  2. to avoid ArrayOutOfBoundException, the following should just work:
        int index = Math.min(Math.toIntExact(limit), questionInfoList.size()) -1;
        QuestionInfo questionInfo = questionInfoList.get(index);

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I'll modify this.

Co-authored-by: Zach Kimberg <zachary@kimberg.com>
@zachgk zachgk merged commit 009ca1a into deepjavalibrary:master Apr 28, 2022
@WHALEEYE WHALEEYE deleted the squadBugFix branch May 24, 2022 01:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants