make files independent (#8267)
This commit is contained in:
committed by
GitHub
parent
cd360dcb26
commit
068e6b5edd
@@ -4,16 +4,9 @@ import sys
|
|||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from seq2seq_trainer import Seq2SeqTrainer, arg_to_scheduler_choices
|
from seq2seq_trainer import Seq2SeqTrainer
|
||||||
from transformers import (
|
from seq2seq_training_args import Seq2SeqTrainingArguments
|
||||||
AutoConfig,
|
from transformers import AutoConfig, AutoModelForSeq2SeqLM, AutoTokenizer, HfArgumentParser, MBartTokenizer, set_seed
|
||||||
AutoModelForSeq2SeqLM,
|
|
||||||
AutoTokenizer,
|
|
||||||
HfArgumentParser,
|
|
||||||
MBartTokenizer,
|
|
||||||
TrainingArguments,
|
|
||||||
set_seed,
|
|
||||||
)
|
|
||||||
from transformers.trainer_utils import EvaluationStrategy
|
from transformers.trainer_utils import EvaluationStrategy
|
||||||
from utils import (
|
from utils import (
|
||||||
Seq2SeqDataCollator,
|
Seq2SeqDataCollator,
|
||||||
@@ -33,41 +26,6 @@ from utils import (
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class Seq2SeqTrainingArguments(TrainingArguments):
|
|
||||||
"""
|
|
||||||
Parameters:
|
|
||||||
label_smoothing (:obj:`float`, `optional`, defaults to 0):
|
|
||||||
The label smoothing epsilon to apply (if not zero).
|
|
||||||
sortish_sampler (:obj:`bool`, `optional`, defaults to :obj:`False`):
|
|
||||||
Whether to SortishSamler or not. It sorts the inputs according to lenghts in-order to minimizing the padding size.
|
|
||||||
predict_with_generate (:obj:`bool`, `optional`, defaults to :obj:`False`):
|
|
||||||
Whether to use generate to calculate generative metrics (ROUGE, BLEU).
|
|
||||||
"""
|
|
||||||
|
|
||||||
label_smoothing: Optional[float] = field(
|
|
||||||
default=0.0, metadata={"help": "The label smoothing epsilon to apply (if not zero)."}
|
|
||||||
)
|
|
||||||
sortish_sampler: bool = field(default=False, metadata={"help": "Whether to SortishSamler or not."})
|
|
||||||
predict_with_generate: bool = field(
|
|
||||||
default=False, metadata={"help": "Whether to use generate to calculate generative metrics (ROUGE, BLEU)."}
|
|
||||||
)
|
|
||||||
adafactor: bool = field(default=False, metadata={"help": "whether to use adafactor"})
|
|
||||||
encoder_layerdrop: Optional[float] = field(
|
|
||||||
default=None, metadata={"help": "Encoder layer dropout probability. Goes into model.config."}
|
|
||||||
)
|
|
||||||
decoder_layerdrop: Optional[float] = field(
|
|
||||||
default=None, metadata={"help": "Decoder layer dropout probability. Goes into model.config."}
|
|
||||||
)
|
|
||||||
dropout: Optional[float] = field(default=None, metadata={"help": "Dropout probability. Goes into model.config."})
|
|
||||||
attention_dropout: Optional[float] = field(
|
|
||||||
default=None, metadata={"help": "Attention dropout probability. Goes into model.config."}
|
|
||||||
)
|
|
||||||
lr_scheduler: Optional[str] = field(
|
|
||||||
default="linear", metadata={"help": f"Which lr scheduler to use. Selected in {arg_to_scheduler_choices}"}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ModelArguments:
|
class ModelArguments:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ arg_to_scheduler = {
|
|||||||
"constant": get_constant_schedule,
|
"constant": get_constant_schedule,
|
||||||
"constant_w_warmup": get_constant_schedule_with_warmup,
|
"constant_w_warmup": get_constant_schedule_with_warmup,
|
||||||
}
|
}
|
||||||
arg_to_scheduler_choices = sorted(arg_to_scheduler.keys())
|
|
||||||
|
|
||||||
|
|
||||||
class Seq2SeqTrainer(Trainer):
|
class Seq2SeqTrainer(Trainer):
|
||||||
|
|||||||
45
examples/seq2seq/seq2seq_training_args.py
Normal file
45
examples/seq2seq/seq2seq_training_args.py
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
import logging
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from seq2seq_trainer import arg_to_scheduler
|
||||||
|
from transformers import TrainingArguments
|
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Seq2SeqTrainingArguments(TrainingArguments):
|
||||||
|
"""
|
||||||
|
Parameters:
|
||||||
|
label_smoothing (:obj:`float`, `optional`, defaults to 0):
|
||||||
|
The label smoothing epsilon to apply (if not zero).
|
||||||
|
sortish_sampler (:obj:`bool`, `optional`, defaults to :obj:`False`):
|
||||||
|
Whether to SortishSamler or not. It sorts the inputs according to lenghts in-order to minimizing the padding size.
|
||||||
|
predict_with_generate (:obj:`bool`, `optional`, defaults to :obj:`False`):
|
||||||
|
Whether to use generate to calculate generative metrics (ROUGE, BLEU).
|
||||||
|
"""
|
||||||
|
|
||||||
|
label_smoothing: Optional[float] = field(
|
||||||
|
default=0.0, metadata={"help": "The label smoothing epsilon to apply (if not zero)."}
|
||||||
|
)
|
||||||
|
sortish_sampler: bool = field(default=False, metadata={"help": "Whether to SortishSamler or not."})
|
||||||
|
predict_with_generate: bool = field(
|
||||||
|
default=False, metadata={"help": "Whether to use generate to calculate generative metrics (ROUGE, BLEU)."}
|
||||||
|
)
|
||||||
|
adafactor: bool = field(default=False, metadata={"help": "whether to use adafactor"})
|
||||||
|
encoder_layerdrop: Optional[float] = field(
|
||||||
|
default=None, metadata={"help": "Encoder layer dropout probability. Goes into model.config."}
|
||||||
|
)
|
||||||
|
decoder_layerdrop: Optional[float] = field(
|
||||||
|
default=None, metadata={"help": "Decoder layer dropout probability. Goes into model.config."}
|
||||||
|
)
|
||||||
|
dropout: Optional[float] = field(default=None, metadata={"help": "Dropout probability. Goes into model.config."})
|
||||||
|
attention_dropout: Optional[float] = field(
|
||||||
|
default=None, metadata={"help": "Attention dropout probability. Goes into model.config."}
|
||||||
|
)
|
||||||
|
lr_scheduler: Optional[str] = field(
|
||||||
|
default="linear",
|
||||||
|
metadata={"help": f"Which lr scheduler to use. Selected in {sorted(arg_to_scheduler.keys())}"},
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user