import multiprocessing
import wandb
def run_experiment(params):
   with wandb.init(config=params):
        # Run experiment
        pass
if __name__ == "__main__":
   # Start backend and set global config
   wandb.setup(settings={"project": "my_project"})
   # Define experiment parameters
   experiment_params = [
        {"learning_rate": 0.01, "epochs": 10},
        {"learning_rate": 0.001, "epochs": 20},
   ]
   # Start multiple processes, each running a separate experiment
   processes = []
   for params in experiment_params:
        p = multiprocessing.Process(target=run_experiment, args=(params,))
        p.start()
        processes.append(p)
   # Wait for all processes to complete
   for p in processes:
        p.join()
   # Optional: Explicitly shut down the backend
   wandb.teardown()