Transformers documentation
Callback
Callback
Callback adalah objek yang dapat menyesuaikan perilaku loop pelatihan di Trainer PyTorch, yang dapat memeriksa status loop pelatihan (untuk pelaporan kemajuan, pencatatan di TensorBoard atau platform ML lainnya…) dan mengambil keputusan (seperti penghentian dini).
Callback adalah potongan kode “hanya baca”; selain objek TrainerControl yang dikembalikan, callback tidak dapat mengubah apa pun dalam loop pelatihan. Untuk kustomisasi yang memerlukan perubahan dalam loop pelatihan, Anda harus membuat subclass dari Trainer dan menimpa metode yang Anda butuhkan (lihat trainer untuk contoh).
Secara default, TrainingArguments.report_to diatur ke "none".
Kelas utama yang mengimplementasikan callback adalah TrainerCallback. Kelas ini menerima TrainingArguments yang digunakan untuk menginstansiasi Trainer, dapat mengakses status internal Trainer tersebut melalui TrainerState, dan dapat melakukan beberapa tindakan pada loop pelatihan melalui TrainerControl.
Callback yang Tersedia
Berikut adalah daftar TrainerCallback yang tersedia di pustaka:
TrainerCallback yang mengirim log ke Comet ML.
Atur integrasi Comet opsional.
Lingkungan:
- COMET_MODE (
str, opsional, default keget_or_create): Mengontrol apakah akan membuat dan mencatat ke eksperimen Comet baru atau menambahkan ke eksperimen yang sudah ada. Menerima nilai-nilai berikut:get_or_create: Menentukan secara otomatis berdasarkan apakahCOMET_EXPERIMENT_KEYtelah diset dan apakah Experiment dengan kunci tersebut sudah ada atau belum.create: Selalu buat Eksperimen Comet baru.get: Selalu coba untuk menambahkan ke Eksperimen Comet yang Sudah Ada. MemerlukanCOMET_EXPERIMENT_KEYuntuk disetel.
- COMET_START_ONLINE (
bool, opsional): Apakah akan membuat Experiment secara online atau offline. - COMET_PROJECT_NAME (
str, opsional): Nama proyek Comet untuk eksperimen. - COMET_LOG_ASSETS (
str, opsional, defaultTRUE): Apakah aset pelatihan (checkpoint, dll.) akan dicatat ke Comet. Bisa berupaTRUEatauFALSE.
Untuk sejumlah item yang dapat dikonfigurasi di lingkungan, lihat di sini.
TrainerCallback yang menangani alur default dari loop pelatihan untuk log, evaluasi, dan checkpoint.
TrainerCallback polos yang hanya mencetak log.
TrainerCallback yang menampilkan progres pelatihan atau evaluasi.
Anda dapat memodifikasi max_str_len untuk mengontrol seberapa panjang string dipotong saat pencatatan log.
kelas transformers.EarlyStoppingCallback
< source >( early_stopping_patience: int = 1early_stopping_threshold: float | None = 0.0 )
Parameter
- early_stopping_patience (
int) — Gunakan bersamametric_for_best_modeluntuk menghentikan pelatihan ketika metrik yang ditentukan memburuk selamaearly_stopping_patiencepanggilan evaluasi. - early_stopping_threshold(
float, opsional) — Gunakan bersama TrainingArgumentsmetric_for_best_modeldanearly_stopping_patienceuntuk menunjukkan seberapa besar metrik yang ditentukan harus membaik agar kondisi early stopping terpenuhi. `
TrainerCallback yang menangani penghentian dini.
Callback ini bergantung pada argumen TrainingArguments load_best_model_at_end untuk mengatur best_metric di TrainerState. Perhatikan bahwa jika argumen TrainingArguments save_steps berbeda dari eval_steps, early stopping tidak akan terjadi hingga langkah penyimpanan berikutnya.
kelas transformers.integrations.TensorBoardCallback
< source >( tb_writer = None )
TrainerCallback yang mengirim log ke TensorBoard.
Lingkungan:
- TENSORBOARD_LOGGING_DIR (
str, opsional, defaultnyaNone): Direktori logging untuk mencatat hasil. Nilai defaultnya adalah os.path.join(args.output_dir, default_logdir())
TrainerCallback yang mencatat metrik ke Trackio.
Setel integrasi Trackio opsional.
Untuk menyesuaikan setup, Anda juga dapat mengatur project, trackio_space_id, trackio_bucket_id, trackio_static_space_id, dan hub_private_repo di TrainingArguments.
TrainerCallback yang mencatat metrik, media, dan checkpoint model ke Weight and Biases.
Atur integrasi Weights & Biases (wandb) opsional.
Anda dapat membuat subclass dan menimpa metode ini untuk menyesuaikan setup jika diperlukan. Temukan informasi lebih lanjut di sini. Anda juga dapat menimpa variabel lingkungan berikut:
Lingkungan:
- WANDB_LOG_MODEL (
str, opsional, default"false"): Apakah akan mencatat model dan checkpoint selama pelatihan. Bisa berupa"end","checkpoint"atau"false". Jika diatur ke"end", model akan diunggah di akhir pelatihan. Jika diatur ke"checkpoint", checkpoint akan diunggah setiapargs.save_steps. Jika diatur ke"false", model tidak akan diunggah. Gunakan bersamaload_best_model_at_end()untuk mengunggah model terbaik. - WANDB_WATCH (
str, opsional defaultnya"false"): Bisa berupa"gradients","all","parameters", atau"false". Atur ke"all"untuk mencatat gradien dan parameter. - WANDB_PROJECT (
str, opsional, defaultnya"huggingface"): Atur ini ke string kustom untuk menyimpan hasil di proyek yang berbeda.
TrainerCallback yang mengirim log ke MLflow. Dapat dinonaktifkan dengan mengatur variabel lingkungan DISABLE_MLFLOW_INTEGRATION = TRUE.
Setel integrasi MLflow opsional.
Lingkungan:
- HF_MLFLOW_LOG_ARTIFACTS (
str, opsional): Apakah akan menggunakan fasilitas.log_artifact()MLflow untuk mencatat artefak. Hal ini hanya masuk akal jika pencatatan dilakukan ke server jarak jauh, misalnya s3 atau GCS. Jika diatur keTrueatau 1, setiap checkpoint yang disimpan pada setiap penyimpanan dioutput_dirdari TrainingArguments akan disalin ke penyimpanan artefak lokal atau jarak jauh. Penggunaannya tanpa penyimpanan jarak jauh hanya akan menyalin file ke lokasi artefak Anda. - MLFLOW_TRACKING_URI (
str, opsional): Apakah menyimpan run di path tertentu atau server jarak jauh. Tidak diatur secara default, yang berarti pengaturannya untuk URI tracking sepenuhnya dilewati. - MLFLOW_EXPERIMENT_NAME (
str, opsional, defaultnyaNone): Apakah akan menggunakan experiment_name MLflow di mana run akan diluncurkan. DefaultnyaNoneyang akan menunjuk ke eksperimenDefaultdi MLflow. Jika tidak, ini adalah nama eksperimen yang sensitif terhadap huruf besar/kecil untuk diaktifkan. Jika eksperimen dengan nama ini tidak ada, eksperimen baru dengan nama ini akan dibuat. - MLFLOW_TAGS (
str, opsional): String dump dari kamus pasangan kunci/nilai yang akan ditambahkan ke run MLflow sebagai tag. Contoh:os.environ['MLFLOW_TAGS']='{"release.candidate": "RC1", "release.version": "2.2.0"}'. - MLFLOW_NESTED_RUN (
str, opsional): Apakah akan menggunakan nested runs MLflow. Jika diatur keTrueatau 1, akan membuat nested run di dalam run saat ini. - MLFLOW_RUN_ID (
str, opsional): Memungkinkan untuk menempel kembali ke run yang sudah ada, yang dapat berguna saat melanjutkan pelatihan dari checkpoint. Ketika variabel lingkunganMLFLOW_RUN_IDdiset,start_runakan mencoba melanjutkan run dengan ID run yang ditentukan dan parameter lainnya diabaikan. - MLFLOW_FLATTEN_PARAMS (
str, opsional, defaultFalse): Apakah akan meratakan kamus parameter sebelum pencatatan. - MLFLOW_MAX_LOG_PARAMS (
int, opsional): Atur jumlah maksimum parameter yang dicatat dalam run.
TrainerCallback yang mengirim log ke AzureML.
TrainerCallback yang melacak emisi CO2 dari pelatihan.
TrainerCallback yang mengirim log ke ClearML.
Lingkungan:
- CLEARML_PROJECT (
str, opsional, defaultnyaHuggingFace Transformers): Nama proyek ClearML. - CLEARML_TASK (
str, opsional, defaultnyaTrainer): Nama tugas ClearML. - CLEARML_LOG_MODEL (
bool, opsional, defaultFalse): Apakah model akan dicatat sebagai artefak selama pelatihan.
TrainerCallback yang mencatat ke DagsHub. Mengembangkan MLflowCallback
Setel integrasi Logging DagsHub.
Lingkungan:
- HF_DAGSHUB_LOG_ARTIFAKS (
str, opsional): Apakah akan menyimpan artefak data dan model untuk eksperimen. Bawaan adalahFalse.
kelas transformers.integrations.FlyteCallback
< source >( save_log_history: bool = Truesync_checkpoints: bool = True )
Parameter
TrainerCallback yang mengirim log ke Flyte. CATATAN: Callback ini hanya berfungsi di dalam tugas Flyte.
TrainerCallback yang melaporkan kemajuan pelatihan ke Kubeflow Trainer.
Callback ini didaftarkan secara otomatis saat pelatihan dilakukan di dalam Kubeflow TrainJob dengan feature gate TrainJobRuntimeStatus yang diaktifkan. Controller Kubeflow menyuntikkan variabel lingkungan yang diperlukan ke dalam pod pelatihan.
Variabel Lingkungan (disuntikkan oleh controller):
KUBEFLOW_TRAINER_SERVER_URL: endpoint HTTPS untuk pembaruan statusKUBEFLOW_TRAINER_SERVER_CA_CERT: Path ke sertifikat CA untuk verifikasi TLSKUBEFLOW_TRAINER_SERVER_TOKEN: Path ke token service account untuk autentikasi
Informasi yang Dilaporkan:
- Persentase kemajuan (0-100%)
- Perkiraan waktu tersisa (detik)
- Metrik pelatihan (loss, learning_rate, dll.)
Fitur:
- Pembatasan otomatis (maksimal 1 pembaruan per 5 detik) untuk menghindari beban berlebih pada pengontrol
- Penyimpanan sementara token (5 menit) untuk meminimalkan I/O file
- Hanya rank 0 yang melaporkan kemajuan dalam pelatihan terdistribusi
- Gagal secara diam-diam - masalah jaringan tidak akan mengganggu pelatihan
Dapat dinonaktifkan dengan mengatur variabel lingkungan DISABLE_KUBEFLOW_INTEGRATION=TRUE.
kelas transformers.integrations.DVCLiveCallback
< source >( live: typing.Any | None = Nonelog_model: typing.Union[typing.Literal['all'], bool, NoneType] = None**kwargs )
Parameter
- live (
dvclive.Live, opsional, defaultNone) — Instans Live opsional. Jika None, instans baru akan dibuat menggunakan **kwargs. - log_model (Union[Literal[“all”], bool], opsional, defaultnya
None) — Apakah akan menggunakandvclive.Live.log_artifact()untuk mencatat checkpoint yang dibuat oleh Trainer. Jika diatur keTrue, checkpoint akhir dicatat di akhir pelatihan. Jika diatur ke"all", seluruhoutput_dirdari TrainingArguments dicatat pada setiap checkpoint.
TrainerCallback yang mengirim log ke DVCLive.
Gunakan variabel lingkungan di bawah ini di setup untuk mengonfigurasi integrasi. Untuk menyesuaikan callback ini di luar variabel lingkungan tersebut, lihat di sini.
Atur integrasi DVCLive opsional. Untuk menyesuaikan callback ini di luar variabel lingkungan di bawah, lihat di sini.
Lingkungan:
- HF_DVCLIVE_LOG_MODEL (
str, opsional): Apakah akan menggunakandvclive.Live.log_artifact()untuk mencatat checkpoint yang dibuat oleh Trainer. Jika diatur keTrueatau 1, checkpoint akhir dicatat di akhir pelatihan. Jika diatur keall, seluruhoutput_dirdari TrainingArguments dicatat pada setiap checkpoint.
TrainerCallback yang mencatat metrik, media, dan checkpoint model ke SwanLab.
Siapkan integrasi SwanLab (swanlab) opsional.
Anda dapat membuat subclass dan menimpa metode ini untuk menyesuaikan setup jika diperlukan. Temukan informasi lebih lanjut di sini.
Anda juga dapat menimpa variabel lingkungan berikut. Temukan informasi lebih lanjut tentang variabel lingkungan di sini
Lingkungan:
SWANLAB_API_KEY (
str, opsional, defaultNone): Cloud API Key. Saat login, variabel lingkungan ini diperiksa terlebih dahulu. Jika tidak ada, sistem memeriksa apakah pengguna sudah login. Jika belum, proses login dimulai.- Jika string diteruskan ke antarmuka login, variabel lingkungan ini diabaikan.
- Jika pengguna sudah masuk, variabel lingkungan ini memiliki prioritas lebih tinggi daripada informasi login yang disimpan secara lokal.
SWANLAB_PROJECT (
str, opsional, defaultNone): Atur ini ke string kustom untuk menyimpan hasil di proyek yang berbeda. Jika tidak ditentukan, nama direktori berjalan saat ini akan digunakan.SWANLAB_LOG_DIR (
str, opsional, defaultnyaswanlog): Variabel lingkungan ini menentukan jalur penyimpanan untuk file log saat berjalan dalam mode lokal. Secara default, log disimpan dalam folder bernama swanlog di bawah direktori kerja.SWANLAB_MODE (
Literal["local", "cloud", "disabled"], opsional, defaultcloud): Mode parsing SwanLab, yang melibatkan callback yang didaftarkan oleh operator. Saat ini, ada tiga mode: local, cloud, dan disabled. Catatan: Case-sensitive. Temukan informasi lebih lanjut di siniSWANLAB_LOG_MODEL (
str, opsional, defaultNone): SwanLab saat ini tidak mendukung fungsi mode simpan. Fitur ini akan tersedia pada rilis mendatangSWANLAB_WEB_HOST (
str, opsional, defaultNone): Alamat web untuk lingkungan cloud SwanLab untuk versi privat (gratis)SWANLAB_API_HOST (
str, opsional, defaultNone): Alamat API untuk lingkungan cloud SwanLab untuk versi privat (gratis)SWANLAB_RUN_ID (
str, opsional, defaultNone): ID eksperimen untuk melanjutkan run sebelumnya. Gunakan bersamaSWANLAB_RESUMEuntuk melanjutkan eksperimen yang sudah ada.SWANLAB_RESUME (
str, opsional, defaultNone): Mode resume ("must","allow","never"). Defaultnya"allow"ketikaresume_from_checkpointdigunakan.
TrainerCallback
kelas transformers.TrainerCallback
< source >( )
Parameter
- args (TrainingArguments) — Argumen pelatihan yang digunakan untuk menginstansiasi Trainer.
- state (TrainerState) — Status terkini dari Trainer.
- control (TrainerControl) — Objek yang dikembalikan ke Trainer dan dapat digunakan untuk membuat beberapa keputusan.
- model (PreTrainedModel atau
torch.nn.Module) — Model yang sedang dilatih. - processing_class ([
PreTrainedTokenizeratauBaseImageProcessoratauProcessorMixinatauFeatureExtractionMixin]) — Kelas pemrosesan yang digunakan untuk mengkodekan data. Bisa berupa tokenizer, processor, image processor, atau feature extractor. - optimizer (
torch.optim.Optimizer) — Optimizer yang digunakan untuk langkah-langkah pelatihan. - lr_scheduler (
torch.optim.lr_scheduler.LambdaLR) — Scheduler yang digunakan untuk mengatur learning rate. - train_dataloader (
torch.utils.data.DataLoader, opsional) — Dataloader saat ini yang digunakan untuk pelatihan. - eval_dataloader (
torch.utils.data.DataLoader, opsional) — Dataloader saat ini yang digunakan untuk evaluasi. - metrics (
dict[str, float]) — Metrik yang dihitung oleh fase evaluasi terakhir.Mereka hanya dapat diakses dalam event
on_evaluate. - logs (
dict[str, float]) — Nilai yang akan dicatat.Mereka hanya dapat diakses dalam event
on_log.
Kelas untuk objek yang akan memeriksa status loop pelatihan pada beberapa event dan mengambil beberapa keputusan. Pada masing-masing event tersebut, argumen berikut tersedia:
Objek control adalah satu-satunya yang dapat diubah oleh callback, di mana peristiwa yang mengubahnya harus mengembalikan versi yang telah dimodifikasi.
Argumen args, state dan control adalah argumen posisional untuk semua event, sedangkan yang lainnya dikelompokkan dalam kwargs.
Anda dapat mengurai yang Anda butuhkan dalam tanda tangan event dengan menggunakannya. Sebagai contoh, lihat kode dari
PrinterCallback sederhana.
Contoh:
class PrinterCallback(TrainerCallback):
def on_log(self, args, state, control, logs=None, **kwargs):
_ = logs.pop("total_flos", None)
if state.is_local_process_zero:
print(logs)on_epoch_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di awal epoch.
on_epoch_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di akhir epoch.
on_evaluate
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil setelah fase evaluasi.
on_init_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di akhir inisialisasi Trainer.
Event yang dipanggil setelah pencatatan log terakhir.
on_optimizer_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil setelah langkah optimizer tetapi sebelum gradien di-nol-kan. Berguna untuk memantau gradien.
on_pre_optimizer_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil sebelum langkah optimizer tetapi setelah pemangkasan gradien. Berguna untuk memantau gradien.
on_predict
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControlmetrics**kwargs )
Event yang dipanggil setelah prediksi berhasil.
on_prediction_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil setelah langkah prediksi.
on_push_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil sebelum mendorong model ke hub, di awal Trainer.push_to_hub dan Trainer._push_from_checkpoint.
Event yang dipanggil setelah penyimpanan checkpoint.
on_step_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di awal langkah pelatihan. Jika menggunakan akumulasi gradien, satu langkah pelatihan mungkin memerlukan beberapa input.
on_step_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di akhir langkah pelatihan. Jika menggunakan akumulasi gradien, satu langkah pelatihan mungkin memerlukan beberapa input.
on_substep_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di akhir substep selama akumulasi gradien.
on_train_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di awal pelatihan.
on_train_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event yang dipanggil di akhir pelatihan.
Berikut adalah contoh cara mendaftarkan callback kustom dengan Trainer PyTorch:
class MyCallback(TrainerCallback):
"A callback that prints a message at the beginning of training"
def on_train_begin(self, args, state, control, **kwargs):
print("Starting training")
trainer = Trainer(
model,
args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
callbacks=[MyCallback], # We can either pass the callback class this way or an instance of it (MyCallback())
)Cara lain untuk mendaftarkan callback adalah dengan memanggil trainer.add_callback() sebagai berikut:
trainer = Trainer(...)
trainer.add_callback(MyCallback)
# Alternatively, we can pass an instance of the callback class
trainer.add_callback(MyCallback())TrainerState
kelas transformers.TrainerState
< source >( epoch: float = 0global_step: int = 0max_steps: int = 0logging_steps: int = 500eval_steps: int = 500save_steps: int = 500train_batch_size: int | None = Nonenum_train_epochs: int = 0num_input_tokens_seen: int = 0total_flos: float = 0log_history: list = Nonebest_metric: float | None = Nonebest_global_step: int | None = Nonebest_model_checkpoint: str | None = Noneis_local_process_zero: bool = Trueis_world_process_zero: bool = Trueis_hyper_param_search: bool = Falsetrial_name: str | None = Nonetrial_params: dict[str, str | float | int | bool] | None = Nonestateful_callbacks: list['TrainerCallback'] | None = None )
Parameter
- epoch (
float, opsional) — Hanya disetel selama pelatihan, akan merepresentasikan epoch yang sedang dilalui dalam pelatihan (bagian desimalnya adalah persentase epoch saat ini yang telah selesai). - global_step (
int, opsional, default 0) — Selama pelatihan, mewakili jumlah langkah pembaruan yang telah diselesaikan. - max_steps (
int, opsional, default 0) — Jumlah langkah pembaruan yang akan dilakukan selama pelatihan saat ini. - logging_steps (
int, opsional, default 500) — Catat setiap X langkah pembaruan - eval_steps (
int, opsional) — Jalankan evaluasi setiap X langkah. - save_steps (
int, opsional, default 500) — Simpan checkpoint setiap X langkah pembaruan. - train_batch_size (
int, opsional) — Ukuran batch untuk dataloader pelatihan. Hanya diperlukan ketikaauto_find_batch_sizetelah digunakan. - num_input_tokens_seen (
int, opsional, default 0) — Saat melacak token input, jumlah token yang dilihat selama pelatihan (jumlah token input, bukan jumlah token prediksi). - total_flos (
float, opsional, default 0) — Jumlah total operasi floating point yang dilakukan oleh model sejak awal pelatihan (disimpan sebagai float untuk menghindari overflow). - log_history (
list[dict[str, float]], opsional) — Daftar log yang dilakukan sejak awal pelatihan. - best_metric (
float, opsional) — Saat melacak model terbaik, nilai metrik terbaik yang ditemukan sejauh ini. - best_global_step (
int, opsional) — Saat melacak model terbaik, langkah di mana metrik terbaik ditemukan. Digunakan untuk mengaturbest_model_checkpoint. - best_model_checkpoint (
str, opsional) — Saat melacak model terbaik, nilai dari nama checkpoint untuk model terbaik yang ditemukan sejauh ini. - is_local_process_zero (
bool, opsional, defaultTrue) — Apakah proses ini merupakan proses utama lokal (misalnya, pada satu mesin jika pelatihan dilakukan secara terdistribusi di beberapa mesin). - is_world_process_zero (
bool, opsional, defaultTrue) — Apakah proses ini merupakan proses utama global (saat pelatihan dilakukan secara terdistribusi di beberapa mesin, ini hanya akan bernilaiTrueuntuk satu proses). - is_hyper_param_search (
bool, opsional, defaultFalse) — Apakah kita sedang dalam proses pencarian hiperparameter menggunakan Trainer.hyperparameter_search. Hal ini akan memengaruhi cara data dicatat di TensorBoard. - stateful_callbacks (
list[StatefulTrainerCallback], opsional) — Callbacks yang terpasang padaTrainerdan statusnya harus disimpan atau dipulihkan. Callbacks yang relevan harus mengimplementasikan fungsistatedanfrom_state.
Kelas yang berisi status internal Trainer yang akan disimpan bersama model dan optimizer saat checkpointing dan diteruskan ke TrainerCallback.
Dalam seluruh kelas ini, satu langkah harus dipahami sebagai satu langkah pembaruan. Saat menggunakan akumulasi gradien, satu langkah pembaruan mungkin memerlukan beberapa jalur maju dan mundur: jika Anda menggunakan
gradient_accumulation_steps=n, maka satu langkah pembaruan memerlukan pemrosesan n batch.
Menghitung dan menyimpan nilai absolut untuk langkah logging, eval, dan save berdasarkan apakah itu proporsi atau tidak.
Menyimpan referensi pelatihan awal yang diperlukan di self
Buat sebuah instance dari konten json_path.
Simpan konten instance ini dalam format JSON di dalam json_path.
TrainerControl
kelas transformers.TrainerControl
< source >( should_training_stop: bool = Falseshould_epoch_stop: bool = Falseshould_save: bool = Falseshould_evaluate: bool = Falseshould_log: bool = False )
Parameter
- should_training_stop (
bool, opsional, defaultnyaFalse) — Apakah pelatihan harus dihentikan atau tidak.Jika
True, variabel ini tidak akan direset menjadiFalse. Pelatihan akan langsung berhenti. - should_epoch_stop (
bool, opsional, defaultnyaFalse) — Apakah epoch saat ini harus dihentikan. Jika True, variabel ini akan direset menjadi False di awal epoch berikutnya.Jika
True, variabel ini akan diatur kembali menjadiFalsedi awal epoch berikutnya. - should_save (
bool, opsional, defaultnyaFalse) — Apakah model harus disimpan pada langkah ini.Jika
True, variabel ini akan diatur kembali menjadiFalsedi awal langkah berikutnya. - should_evaluate (
bool, opsional, defaultnyaFalse) — Apakah model harus dievaluasi pada langkah ini.Jika
True, variabel ini akan diatur kembali menjadiFalsedi awal langkah berikutnya. - should_log (
bool, opsional, defaultnyaFalse) — Apakah log harus dilaporkan pada langkah ini.Jika
True, variabel ini akan diatur kembali menjadiFalsedi awal langkah berikutnya.
Kelas yang menangani alur kendali Trainer. Kelas ini digunakan oleh TrainerCallback untuk mengaktifkan beberapa saklar dalam loop pelatihan.