| 90 | |
| 91 | |
| 92 | def build_callback(name, kwargs): |
| 93 | if name == "lr_monitor": |
| 94 | return LRMonitor() |
| 95 | elif name == "memory_monitor": |
| 96 | return MemoryMonitor() |
| 97 | elif name == "speed_monitor": |
| 98 | return SpeedMonitor( |
| 99 | window_size=kwargs.get("window_size", 1), |
| 100 | gpu_flops_available=kwargs.get("gpu_flops_available", None), |
| 101 | ) |
| 102 | elif name == "runtime_estimator": |
| 103 | return RuntimeEstimator() |
| 104 | elif name == "optimizer_monitor": |
| 105 | return OptimizerMonitor( |
| 106 | log_optimizer_metrics=kwargs.get("log_optimizer_metrics", True), |
| 107 | ) |
| 108 | else: |
| 109 | raise ValueError(f"Not sure how to build callback: {name}") |
| 110 | |
| 111 | |
| 112 | def build_logger(name, kwargs): |