• Daniel Stancl's avatar
    Add output in a dictionary for TF `generate` method (#12139) · 26a2e365
    Daniel Stancl authored
    * Add output args to greedy search
    
    * Fix critical typo + make style quality
    
    * Handle generate_beam_search
    
    * Add dict_specific tests and fix the placement of encoder outputs
    
    * Add  specific outputs
    
    * Update doc
    
    * Fix typo
    
    * Adjust handling encoder_outputs + Fix generating for T5
    
    * Fix generate for RAG
    
    * Fix handling ouptut_attentions when target_mapping is not None
    
    Take care of situations when target_mapping is provided
    as there are 2-tuple of attentions
    
    Change from:
    if inputs["output_attentions"]:
        attentions = tuple(tf.transpose(t, perm(2, 3, 0, 1)) for t in attentions)
    
    to:
    if inputs["output_attentions"]:
        if inputs["target_mapping"] is not None:
            # when target_mapping is provided, there are 2-tuple of attentions
             attentions = tuple(
                 tuple(tf.transpose(attn_stream, perm=(2, 3, 0, 1)) for attn_stream in t) for t in attentions
            )
        else:
            attentions = tuple(tf.transpose(t, perm=(2, 3, 0, 1)) for t in attentions)
    
    * Rename kwargs to model_kwargs
    
    * make style quality
    
    * Move imports in test_modeling_tf_common.py
    
    Move ModelOutput-related imports in test_modeling_tf_common.py
    into the `is_tf_available():` statement.
    
    * Rewrite nested if-statements
    
    * Fix added tests
    26a2e365
test_modeling_tf_common.py 65.8 KB