(self, project_name, experiment_name, default_backend: Union[str, List[str]] = 'console', config=None)
| 25 | supported_backend = ["wandb", "mlflow", "swanlab", "vemlp_wandb", "tensorboard", "console"] |
| 26 | |
| 27 | def __init__(self, project_name, experiment_name, default_backend: Union[str, List[str]] = 'console', config=None): |
| 28 | if isinstance(default_backend, str): |
| 29 | default_backend = [default_backend] |
| 30 | for backend in default_backend: |
| 31 | if backend == 'tracking': |
| 32 | import warnings |
| 33 | warnings.warn("`tracking` logger is deprecated. use `wandb` instead.", DeprecationWarning) |
| 34 | else: |
| 35 | assert backend in self.supported_backend, f'{backend} is not supported' |
| 36 | |
| 37 | self.logger = {} |
| 38 | |
| 39 | if 'tracking' in default_backend or 'wandb' in default_backend: |
| 40 | import wandb |
| 41 | wandb.init(project=project_name, name=experiment_name, config=config) |
| 42 | self.logger['wandb'] = wandb |
| 43 | |
| 44 | if 'mlflow' in default_backend: |
| 45 | import mlflow |
| 46 | mlflow.start_run(run_name=experiment_name) |
| 47 | mlflow.log_params(_compute_mlflow_params_from_objects(config)) |
| 48 | self.logger['mlflow'] = _MlflowLoggingAdapter() |
| 49 | |
| 50 | if "swanlab" in default_backend: |
| 51 | import swanlab |
| 52 | import os |
| 53 | |
| 54 | SWANLAB_API_KEY = os.environ.get("SWANLAB_API_KEY", None) |
| 55 | SWANLAB_LOG_DIR = os.environ.get("SWANLAB_LOG_DIR", "swanlog") |
| 56 | SWANLAB_MODE = os.environ.get("SWANLAB_MODE", "cloud") |
| 57 | if SWANLAB_API_KEY: |
| 58 | swanlab.login(SWANLAB_API_KEY) # NOTE: previous login information will be overwritten |
| 59 | swanlab.init(project=project_name, |
| 60 | experiment_name=experiment_name, |
| 61 | config={ |
| 62 | "FRAMEWORK": "veRL", |
| 63 | **config |
| 64 | }, |
| 65 | logdir=SWANLAB_LOG_DIR, |
| 66 | mode=SWANLAB_MODE) |
| 67 | self.logger["swanlab"] = swanlab |
| 68 | |
| 69 | if 'vemlp_wandb' in default_backend: |
| 70 | import os |
| 71 | import volcengine_ml_platform |
| 72 | from volcengine_ml_platform import wandb as vemlp_wandb |
| 73 | volcengine_ml_platform.init( |
| 74 | ak=os.environ["VOLC_ACCESS_KEY_ID"], |
| 75 | sk=os.environ["VOLC_SECRET_ACCESS_KEY"], |
| 76 | region=os.environ["MLP_TRACKING_REGION"], |
| 77 | ) |
| 78 | |
| 79 | vemlp_wandb.init( |
| 80 | project=project_name, |
| 81 | name=experiment_name, |
| 82 | config=config, |
| 83 | sync_tensorboard=True, |
| 84 | ) |
nothing calls this directly
no test coverage detected