39
39
from transformers import Trainer
40
40
from transformers .data .data_collator import DataCollator
41
41
from transformers .debug_utils import DebugOption , DebugUnderflowOverflow
42
+ from transformers .feature_extraction_utils import FeatureExtractionMixin
42
43
from transformers .modeling_utils import PreTrainedModel , get_parameter_dtype , unwrap_model
43
44
from transformers .models .auto .modeling_auto import MODEL_FOR_CAUSAL_LM_MAPPING_NAMES
44
45
from transformers .tokenization_utils_base import PreTrainedTokenizerBase
104
105
from neural_compressor .config import _BaseQuantizationConfig
105
106
106
107
107
- __version__ = "4.22.2 "
108
+ __version__ = "4.46.0 "
108
109
109
110
110
111
logger = logging .get_logger (__name__ )
@@ -122,8 +123,9 @@ def __init__(
122
123
data_collator : Optional [DataCollator ] = None ,
123
124
train_dataset : Optional [Dataset ] = None ,
124
125
eval_dataset : Optional [Dataset ] = None ,
125
- tokenizer : Optional [PreTrainedTokenizerBase ] = None ,
126
+ processing_class : Optional [Union [ PreTrainedTokenizerBase , FeatureExtractionMixin ] ] = None ,
126
127
model_init : Callable [[], PreTrainedModel ] = None ,
128
+ compute_loss_func : Optional [Callable ] = None ,
127
129
compute_metrics : Optional [Callable [[EvalPrediction ], Dict ]] = None ,
128
130
callbacks : Optional [List [TrainerCallback ]] = None ,
129
131
optimizers : Tuple [torch .optim .Optimizer , torch .optim .lr_scheduler .LambdaLR ] = (None , None ),
@@ -132,6 +134,7 @@ def __init__(
132
134
pruning_config : Optional [_BaseQuantizationConfig ] = None ,
133
135
distillation_config : Optional [_BaseQuantizationConfig ] = None ,
134
136
task : Optional [str ] = None ,
137
+ ** kwargs ,
135
138
):
136
139
self .neftune_noise_alpha = None
137
140
@@ -141,12 +144,12 @@ def __init__(
141
144
data_collator ,
142
145
train_dataset ,
143
146
eval_dataset ,
144
- tokenizer ,
145
- model_init ,
146
- compute_metrics ,
147
- callbacks ,
148
- optimizers ,
149
- preprocess_logits_for_metrics ,
147
+ processing_class or kwargs . get ( " tokenizer" , None ) ,
148
+ model_init = model_init ,
149
+ compute_metrics = compute_metrics ,
150
+ callbacks = callbacks ,
151
+ optimizers = optimizers ,
152
+ preprocess_logits_for_metrics = preprocess_logits_for_metrics ,
150
153
)
151
154
152
155
if self .args .device .type == "cuda" and not is_neural_compressor_version (">" , "2.0.0" ):
@@ -766,7 +769,7 @@ def _get_logits(model_outputs):
766
769
output_names = ["logits" , "start_logits" , "end_logits" ]
767
770
return tuple (model_outputs .get (name ) for name in output_names if name in model_outputs )
768
771
769
- def compute_loss (self , model , inputs , return_outputs = False ):
772
+ def compute_loss (self , model , inputs , return_outputs = False , num_items_in_batch = None ):
770
773
"""
771
774
How the loss is computed by Trainer. By default, all models return the loss in the first element.
772
775
"""
0 commit comments