in jcm/main.py [0:0]
def main(argv):
if FLAGS.mode == "train":
wandb.login()
wandb.init(
project=os.path.basename(FLAGS.workdir),
name=os.path.basename(FLAGS.workdir),
config=FLAGS.config.to_dict(),
)
# Create the working directory
blobfile.makedirs(FLAGS.workdir)
formatter = logging.Formatter(
"%(levelname)s - %(filename)s - %(asctime)s - %(message)s"
)
logger = logging.getLogger()
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel("INFO")
# Run the training pipeline
train.train(FLAGS.config, FLAGS.workdir)
elif FLAGS.mode == "eval":
# Run the evaluation pipeline
evaluate.evaluate(
FLAGS.config,
FLAGS.workdir,
FLAGS.eval_folder,
)
elif FLAGS.mode == "metrics":
# Compute the metrics
metrics.compute_metrics(
FLAGS.config,
FLAGS.workdir,
FLAGS.eval_folder,
)
else:
raise ValueError(f"Mode {FLAGS.mode} not recognized.")