(name, kwargs)
| 149 | |
| 150 | |
| 151 | def build_callback(name, kwargs): |
| 152 | if name == "lr_monitor": |
| 153 | return LRMonitor() |
| 154 | elif name == "memory_monitor": |
| 155 | return MemoryMonitor() |
| 156 | elif name == "speed_monitor": |
| 157 | return SpeedMonitor( |
| 158 | window_size=kwargs.get("window_size", 1), gpu_flops_available=kwargs.get("gpu_flops_available", None) |
| 159 | ) |
| 160 | elif name == "runtime_estimator": |
| 161 | return RuntimeEstimator() |
| 162 | elif name == "optimizer_monitor": |
| 163 | return OptimizerMonitor( |
| 164 | log_optimizer_metrics=kwargs.get("log_optimizer_metrics", True), |
| 165 | ) |
| 166 | elif name == "scheduled_gc": |
| 167 | return ScheduledGarbageCollector(batch_interval=kwargs.get("batch_interval", 100_000)) |
| 168 | elif name == "log_grad_norm": |
| 169 | return LogGradNorm( |
| 170 | log_optimizer_metrics=kwargs.get("log_optimizer_metrics", True), |
| 171 | batch_log_interval=kwargs.get("batch_log_interval", 10), |
| 172 | ) |
| 173 | elif name == "dataloader_speed": |
| 174 | return DataloaderSpeedMonitor() |
| 175 | elif name == "packing_efficiency": |
| 176 | return PackingEfficency(log_interval=kwargs.get("log_interval", 10)) |
| 177 | else: |
| 178 | raise ValueError(f"Not sure how to build callback: {name}") |
| 179 | |
| 180 | |
| 181 | def build_logger(name, kwargs): |
no test coverage detected