Accelerate documentation
Handler Kwargs
Handler Kwargs
Objek-objek berikut dapat diteruskan ke Accelerator utama untuk menyesuaikan cara beberapa objek PyTorch yang terkait dengan pelatihan terdistribusi atau presisi campuran dibuat.
AutocastKwargs
kelas accelerate.AutocastKwargs
< source >( enabled: bool = Truecache_enabled: bool | None = None )
Gunakan objek ini di Accelerator Anda untuk menyesuaikan perilaku torch.autocast. Silakan merujuk ke
dokumentasi context manager ini untuk informasi lebih lanjut tentang setiap argumen.
DistributedDataParallelKwargs
kelas accelerate.DistributedDataParallelKwargs
< source >( dim: int = 0broadcast_buffers: bool = Truebucket_cap_mb: int = 25find_unused_parameters: bool = Falsecheck_reduction: bool = Falsegradient_as_bucket_view: bool = Falsestatic_graph: bool = Falsecomm_hook: DDPCommunicationHookType = <DDPCommunicationHookType.NO: 'no'>comm_wrapper: typing.Literal[<DDPCommunicationHookType.NO: 'no'>, <DDPCommunicationHookType.FP16: 'fp16'>, <DDPCommunicationHookType.BF16: 'bf16'>] = <DDPCommunicationHookType.NO: 'no'>comm_state_option: dict = <factory> )
Gunakan objek ini di Accelerator Anda untuk menyesuaikan cara model Anda dibungkus dalam torch.nn.parallel.DistributedDataParallel. Silakan merujuk ke dokumentasi wrapper ini untuk informasi lebih lanjut tentang setiap argumen.
ProfileKwargs
kelas accelerate.ProfileKwargs
< source >( activities: list[typing.Literal['cpu', 'xpu', 'mtia', 'cuda', 'hpu']] | None = Noneschedule_option: dict[str, int] | None = Noneon_trace_ready: typing.Callable | None = Nonerecord_shapes: bool = Falseprofile_memory: bool = Falsewith_stack: bool = Falsewith_flops: bool = Falsewith_modules: bool = Falseoutput_trace_dir: str | None = None )
Parameter
- activities (
List[str], opsional, default keNone) — Daftar grup aktivitas yang akan digunakan dalam profiling. Harus salah satu dari"cpu","xpu","mtia", “hpu” atau"cuda". - schedule_option (
Dict[str, int], opsional, default keNone) — Opsi jadwal yang digunakan untuk profiler. Kunci yang tersedia adalahwait,warmup,active,repeatdanskip_first. Profiler akan melewatiskip_firstlangkah pertama, kemudian menunggu selamawaitlangkah, kemudian melakukan warmup untukwarmuplangkah berikutnya, kemudian melakukan perekaman aktif untukactivelangkah berikutnya dan kemudian mengulang siklus dimulai denganwaitlangkah. Jumlah siklus opsional ditentukan dengan parameterrepeat, nilai nol berarti siklus akan terus berlanjut sampai profiling selesai. - on_trace_ready (
Callable, opsional, defaultNone) — Callable yang dipanggil pada setiap langkah ketika schedule mengembalikanProfilerAction.RECORD_AND_SAVEselama profiling. - record_shapes (
bool, opsional, defaultFalse) — Simpan informasi tentang bentuk input operator. - profile_memory (
bool, opsional, defaultFalse) — Lacak alokasi/dealokasi memori tensor - with_stack (
bool, opsional, defaultFalse) — Merekam informasi sumber (file dan nomor baris) untuk ops. - with_flops (
bool, opsional, defaultFalse) — Gunakan rumus untuk memperkirakan FLOPS dari operator tertentu - with_modules (
bool, opsional, defaultFalse) — Catat hierarki modul (termasuk nama fungsi) yang sesuai dengan callstack dari op. - output_trace_dir (
str, opsional, defaultNone) — Mengekspor trace yang dikumpulkan dalam format JSON Chrome. Chrome menggunakan tampilan ‘chrome://tracing’ untuk file json. Defaultnya None, yang berarti profiling tidak menyimpan file json.
Gunakan objek ini di Accelerator Anda untuk menyesuaikan inisialisasi profiler. Silakan merujuk ke dokumentasi context manager ini untuk informasi lebih lanjut tentang setiap argumen.
Contoh:
from accelerate import Accelerator
from accelerate.utils import ProfileKwargs
kwargs = ProfileKwargs(activities=["cpu", "cuda"])
accelerator = Accelerator(kwargs_handlers=[kwargs])Bangun objek profiler dengan konfigurasi saat ini.
GradScalerKwargs
kelas accelerate.GradScalerKwargs
< source >( init_scale: float = 65536.0growth_factor: float = 2.0backoff_factor: float = 0.5growth_interval: int = 2000enabled: bool = True )
Gunakan objek ini di Accelerator Anda untuk menyesuaikan perilaku presisi campuran, khususnya bagaimana torch.amp.GradScaler atau torch.cuda.amp.GradScaler yang digunakan dibuat. Silakan merujuk ke dokumentasi scaler ini untuk informasi lebih lanjut tentang setiap argumen.
InitProcessGroupKwargs
kelas accelerate.InitProcessGroupKwargs
< source >( backend: str | None = 'nccl'init_method: str | None = Nonetimeout: datetime.timedelta | None = None )
Gunakan objek ini di Accelerator Anda untuk menyesuaikan inisialisasi proses terdistribusi. Silakan merujuk ke dokumentasi metode ini untuk informasi lebih lanjut tentang setiap argumen.
Catatan: Jika timeout diatur ke None, nilai default akan didasarkan pada pengaturan backend.
KwargsHandler
Mixin internal yang mengimplementasikan metode to_kwargs() untuk dataclass.
Mengembalikan kamus yang berisi atribut dengan nilai yang berbeda dari nilai bawaan kelas ini.