1. 22 Mar, 2021 1 commit
  2. 12 Mar, 2021 1 commit
    • Nicolas Patry's avatar
      Adding new parameter to `generate`: `max_time`. (#9846) · 543d0549
      Nicolas Patry authored
      * [WIP] Adding new parameter to `generate`:  `max_time`.
      
      Generation by tokens number is sometimes a bit clunky because we don't
      know how many tokens are good enough or even how many tokens are in
      the payload (for pipelines users for instance). This leads to hard
      to understand behavior.
      
      This PR proposes a new argument `max_time` which is a float of seconds
      for the allowed time for `generate` to run on.
      Ideally combinations of `max_tokens=None`, `max_time=2` could be used to
      generate as many tokens as possible within time budget.
      
      NB: Another possible approach consists of passing a callback to `generate`
        putting the caller in charge of the actual decision of when to stop
        generating tokens. It opens the door to 'which args should we pass'
        to this callback. It's hard to imagine other use-cases for this
        early stopping behavior than time (that are not already covered by
        parameters of generate)
      
      * Revamp with StoppingCriteria
      
      * Removing deprecated mentions.
      
      * Forgot arguments to stopping criteria.
      
      * Readding max_length it's not just used as a stopping criteria.
      
      * Default value for `stopping_criteria`.
      
      * Address @patrickvonplaten comments.
      
      - More docstrings
      - Actual doc
      - Include in global namespace
      - Remove TF work.
      
      * Put back `max_length` (deprecation different PR).
      
      * Doc quality.
      
      * Fixing old behavior without `stopping_criteria` but with `max_length`.
      
      Making sure we don't break that in the future.
      
      * Adding more tests for possible inconsistencies between
      
      `max_length` and `stopping_criteria`.
      
      * Fixing the torch imports.
      543d0549
  3. 10 Mar, 2021 1 commit
    • Suraj Patil's avatar
      Speech2TextTransformer (#10175) · d26b37e7
      Suraj Patil authored
      
      
      * s2t
      
      * fix config
      
      * conversion script
      
      * fix import
      
      * add tokenizer
      
      * fix tok init
      
      * fix tokenizer
      
      * first version working
      
      * fix embeds
      
      * fix lm head
      
      * remove extra heads
      
      * fix convert script
      
      * handle encoder attn mask
      
      * style
      
      * better enc attn mask
      
      * override _prepare_attention_mask_for_generation
      
      * handle attn_maks in encoder and decoder
      
      * input_ids => input_features
      
      * enable use_cache
      
      * remove old code
      
      * expand embeddings if needed
      
      * remove logits bias
      
      * masked_lm_loss => loss
      
      * hack tokenizer to support feature processing
      
      * fix model_input_names
      
      * style
      
      * fix error message
      
      * doc
      
      * remove inputs_embeds
      
      * remove input_embeds
      
      * remove unnecessary docstring
      
      * quality
      
      * SpeechToText => Speech2Text
      
      * style
      
      * remove shared_embeds
      
      * subsample => conv
      
      * remove Speech2TextTransformerDecoderWrapper
      
      * update output_lengths formula
      
      * fix table
      
      * remove max_position_embeddings
      
      * update conversion scripts
      
      * add possibility to do upper case for now
      
      * add FeatureExtractor and Processor
      
      * add tests for extractor
      
      * require_torch_audio => require_torchaudio
      
      * add processor test
      
      * update import
      
      * remove classification head
      
      * attention mask is now 1D
      
      * update docstrings
      
      * attention mask should be of type long
      
      * handle attention mask from generate
      
      * alwyas return attention_mask
      
      * fix test
      
      * style
      
      * doc
      
      * Speech2TextTransformer => Speech2Text
      
      * Speech2TextTransformerConfig => Speech2TextConfig
      
      * remove dummy_inputs
      
      * nit
      
      * style
      
      * multilinguial tok
      
      * fix tokenizer
      
      * add tgt_lang setter
      
      * save lang_codes
      
      * fix tokenizer
      
      * add forced_bos_token_id to tokenizer
      
      * apply review suggestions
      
      * add torchaudio to extra deps
      
      * add speech deps to CI
      
      * fix dep
      
      * add libsndfile to ci
      
      * libsndfile1
      
      * add speech to extras all
      
      * libsndfile1 -> libsndfile1
      
      * libsndfile
      
      * libsndfile1-dev
      
      * apt update
      
      * add sudo to install
      
      * update deps table
      
      * install libsndfile1-dev on CI
      
      * tuple to list
      
      * init conv layer
      
      * add model tests
      
      * quality
      
      * add integration tests
      
      * skip_special_tokens
      
      * add speech_to_text_transformer in toctree
      
      * fix tokenizer
      
      * fix fp16 tests
      
      * add tokenizer tests
      
      * fix copyright
      
      * input_values => input_features
      
      * doc
      
      * add model in readme
      
      * doc
      
      * change checkpoint names
      
      * fix copyright
      
      * fix code example
      
      * add max_model_input_sizes in tokenizer
      
      * fix integration tests
      
      * add do_lower_case to tokenizer
      
      * remove clamp trick
      
      * fix "Add modeling imports here"
      
      * fix copyrights
      
      * fix tests
      
      * SpeechToTextTransformer => SpeechToText
      
      * fix naming
      
      * fix table formatting
      
      * fix typo
      
      * style
      
      * fix typos
      
      * remove speech dep from extras[testing]
      
      * fix copies
      
      * rename doc file,
      
      * put imports under is_torch_available
      
      * run feat extract tests when torch is available
      
      * dummy objects for processor and extractor
      
      * fix imports in tests
      
      * fix import in modeling test
      
      * fxi imports
      
      * fix torch import
      
      * fix imports again
      
      * fix positional embeddings
      
      * fix typo in import
      
      * adapt new extractor refactor
      
      * style
      
      * fix torchscript test
      
      * doc
      
      * doc
      
      * Apply suggestions from code review
      Co-authored-by: default avatarSylvain Gugger <35901082+sgugger@users.noreply.github.com>
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      
      * fix docs, copied from, style
      
      * fix docstring
      
      * handle imports
      
      * remove speech from all extra deps
      
      * remove s2t from seq2seq lm mapping
      
      * better names
      
      * skip training tests
      
      * add install instructions
      
      * List => Tuple
      
      * doc
      
      * fix conversion script
      
      * fix urls
      
      * add instruction for libsndfile
      
      * fix fp16 test
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      Co-authored-by: default avatarSylvain Gugger <35901082+sgugger@users.noreply.github.com>
      d26b37e7
  4. 03 Mar, 2021 1 commit
  5. 10 Feb, 2021 1 commit
    • Suraj Patil's avatar
      remove adjust_logits_during_generation method (#10087) · c130e67d
      Suraj Patil authored
      * add forced logits processors
      
      * delete adjust_logits method
      
      * add forced_eos_token_id argument in config
      
      * add tests for forced logits processors
      
      * update gen utils tests
      
      * add forced option to tf generate
      
      * remove adjust_logits method from tf models
      
      * update adjust_logits for marian
      
      * delete _force_token_id_to_be_generated method
      
      * style
      
      * import warnings
      
      * pass max_length to _get_logits_processor
      
      * set forced_eos_token_id to None
      
      * set forced attributes in conf utils
      
      * typo
      
      * fix rag generate
      
      * add forced_eos_token_id in rag config
      
      * remove force_bos_token_to_be_generated from BartConfig
      
      * remove _force_token_ids_generation from FSMT
      
      * nit
      
      * fix negative constant
      
      * apply suggestions from code review
      c130e67d
  6. 26 Jan, 2021 1 commit
  7. 06 Jan, 2021 2 commits
    • Patrick von Platen's avatar
      [GenerationOutputs] Fix GenerationOutputs Tests (#9443) · b8462b5b
      Patrick von Platen authored
      * fix generation models
      
      * fix led
      
      * fix docs
      
      * add is_decoder
      
      * fix last docstrings
      
      * make style
      
      * fix t5 cross attentions
      
      * correct t5
      b8462b5b
    • Simon Brandeis's avatar
      Add flags to return scores, hidden states and / or attention weights in GenerationMixin (#9150) · c89f1bc9
      Simon Brandeis authored
      
      
      * Define new output dataclasses for greedy generation
      
      * Add output_[...] flags in greedy generation methods
      
      Added output_attentions, output_hidden_states, output_scores flags in
      generate and greedy_search methods in GenerationMixin.
      
      * [WIP] Implement logic and tests for output flags in generation
      
      * Update GreedySearchOutput classes & docstring
      
      * Implement greedy search output accumulation logic
      
      Update greedy_search unittests
      
      Fix generate method return value docstring
      
      Properly init flags with the default config
      
      * Update configuration to add output_scores flag
      
      * Fix test_generation_utils
      
      Sort imports and fix isinstance tests for GreedySearchOutputs
      
      * Fix typo in generation_utils
      
      * Add return_dict_in_generate for backwards compatibility
      
      * Add return_dict_in_generate flag in config
      
      * Fix tyPo in configuration
      
      * Fix handling of attentions and hidden_states flags
      
      * Make style & quality
      
      * first attempt attentions
      
      * some corrections
      
      * improve tests
      
      * special models requires special test
      
      * disable xlm test for now
      
      * clean tests
      
      * fix for tf
      
      * isort
      
      * Add output dataclasses for other generation methods
      
      * Add logic to return dict in sample generation
      
      * Complete test for sample generation
      
      - Pass output_attentions and output_hidden_states flags to encoder in
      encoder-decoder models
      - Fix import satements order in test_generation_utils file
      
      * Add logic to return dict in sample generation
      
      - Refactor tests to avoid using self.assertTrue, which provides
      scarce information when the test fails
      - Add tests for the three beam_search methods: vanilla, sample and
      grouped
      
      * Style doc
      
      * Fix copy-paste error in generation tests
      
      * Rename logits to scores and refactor
      
      * Refactor group_beam_search for consistency
      
      * make style
      
      * add sequences_scores
      
      * fix all tests
      
      * add docs
      
      * fix beam search finalize test
      
      * correct docstring
      
      * clean some files
      
      * Made suggested changes to the documentation
      
      * Style doc ?
      
      * Style doc using the Python util
      
      * Update src/transformers/generation_utils.py
      
      * fix empty lines
      
      * fix all test
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      c89f1bc9
  8. 09 Dec, 2020 1 commit
    • Patrick von Platen's avatar
      Diverse beam search 2 (#9006) · 02d0e035
      Patrick von Platen authored
      
      
      * diverse beam search
      
      * bug fixes
      
      * bug fixes
      
      * bug fix
      
      * separate out diverse_beam_search function
      
      * separate out diverse_beam_search function
      
      * bug fix
      
      * improve code quality
      
      * bug fix
      
      * bug fix
      
      * separate out diverse beam search scorer
      
      * code format
      
      * code format
      
      * code format
      
      * code format
      
      * add test
      
      * code format
      
      * documentation changes
      
      * code quality
      
      * add slow integration tests
      
      * more general name
      
      * refactor into logits processor
      
      * add test
      
      * avoid too much copy paste
      
      * refactor
      
      * add to docs
      
      * fix-copies
      
      * bug fix
      
      * Revert "bug fix"
      
      This reverts commit c99eb5a8dc57a7b0d33a8ac06d8c6a32a7812ad4.
      
      * improve comment
      
      * implement sylvains feedback
      Co-authored-by: default avatarAyush Jain <a.jain@sprinklr.com>
      Co-authored-by: default avatarayushtiku5 <40797286+ayushtiku5@users.noreply.github.com>
      02d0e035
  9. 20 Nov, 2020 1 commit
  10. 16 Nov, 2020 1 commit
    • Sylvain Gugger's avatar
      Switch `return_dict` to `True` by default. (#8530) · 1073a2bd
      Sylvain Gugger authored
      * Use the CI to identify failing tests
      
      * Remove from all examples and tests
      
      * More default switch
      
      * Fixes
      
      * More test fixes
      
      * More fixes
      
      * Last fixes hopefully
      
      * Use the CI to identify failing tests
      
      * Remove from all examples and tests
      
      * More default switch
      
      * Fixes
      
      * More test fixes
      
      * More fixes
      
      * Last fixes hopefully
      
      * Run on the real suite
      
      * Fix slow tests
      1073a2bd
  11. 04 Nov, 2020 1 commit
  12. 03 Nov, 2020 1 commit
    • Patrick von Platen's avatar
      Refactoring the generate() function (#6949) · a1bbcf3f
      Patrick von Platen authored
      * first draft
      
      * show design proposition for new generate method
      
      * up
      
      * make better readable
      
      * make first version
      
      * gpt2 tests pass
      
      * make beam search for gpt2 work
      
      * add first encoder-decoder code
      
      * delete typo
      
      * make t5 work
      
      * save indermediate
      
      * make bart work with beam search
      
      * finish beam search bart / t5
      
      * add default kwargs
      
      * make more tests pass
      
      * fix no bad words sampler
      
      * some fixes and tests for all distribution processors
      
      * fix test
      
      * fix rag slow tests
      
      * merge to master
      
      * add nograd to generate
      
      * make all slow tests pass
      
      * speed up generate
      
      * fix edge case bug
      
      * small fix
      
      * correct typo
      
      * add type hints and docstrings
      
      * fix typos in tests
      
      * add beam search tests
      
      * add tests for beam scorer
      
      * fix test rag
      
      * finish beam search tests
      
      * move generation tests in seperate file
      
      * fix generation tests
      
      * more tests
      
      * add aggressive generation tests
      
      * fix tests
      
      * add gpt2 sample test
      
      * add more docstring
      
      * add more docs
      
      * finish doc strings
      
      * apply some more of sylvains and sams comments
      
      * fix some typos
      
      * make fix copies
      
      * apply lysandres and sylvains comments
      
      * final corrections on examples
      
      * small fix for reformer
      a1bbcf3f