Skip to content
Snippets Groups Projects
Commit ad42bc95 authored by Schneider Leo's avatar Schneider Leo
Browse files

add : ray result analysis

parent 5252e23b
No related branches found
No related tags found
No related merge requests found
...@@ -275,13 +275,42 @@ def main(args, gpus_per_trial=1): ...@@ -275,13 +275,42 @@ def main(args, gpus_per_trial=1):
print("Best trial config: {}".format(best_result.config)) print("Best trial config: {}".format(best_result.config))
print("Best trial final validation loss: {}".format( print("Best trial final validation loss: {}".format(
best_result.metrics["loss"])) best_result.metrics["val loss"]))
print("Best trial final validation accuracy: {}".format( print("Best trial final validation accuracy: {}".format(
best_result.metrics["accuracy"])) best_result.metrics["val acc"]))
test_model(best_result, args) test_model(best_result, args)
def analyze_ray_res(storage_path, exp_name,args, gpus_per_trial=1):
experiment_path = os.path.join(storage_path, exp_name)
print(f"Loading results from {experiment_path}...")
trainable = tune.with_resources(
tune.with_parameters(train_model, args=args),
resources={"cpu": 20, "gpu": gpus_per_trial}
)
restored_tuner = tune.Tuner.restore(experiment_path, trainable=trainable)
results = restored_tuner.get_results()
num_results = len(results)
print("Number of results:", num_results)
for i, result in enumerate(results):
if result.error:
print(f"Trial #{i} had an error:", result.error)
continue
print(
f"Trial #{i} finished successfully train loss of :",
result.metrics["train loss"], " train acc of :",
result.metrics["train cont acc"], " val loss of :",
result.metrics["val loss"], " val cont acc of :",
result.metrics["val cont acc"], " val acc of :",
result.metrics["val acc"]
)
if __name__ == '__main__': if __name__ == '__main__':
args = load_args_contrastive() args = load_args_contrastive()
print(args) analyze_ray_res()
main(args) # print(args)
# main(args)
...@@ -244,7 +244,36 @@ essayer avec une loss pondérée ou pas pondérée ...@@ -244,7 +244,36 @@ essayer avec une loss pondérée ou pas pondérée
test_model(best_result, args) test_model(best_result, args)
def analyze_ray_res(storage_path, exp_name, args, gpus_per_trial=1):
experiment_path = os.path.join(storage_path, exp_name)
print(f"Loading results from {experiment_path}...")
trainable = tune.with_resources(
tune.with_parameters(train_model, args=args),
resources={"cpu": 20, "gpu": gpus_per_trial}
)
restored_tuner = tune.Tuner.restore(experiment_path, trainable=trainable)
results = restored_tuner.get_results()
num_results = len(results)
print("Number of results:", num_results)
for i, result in enumerate(results):
if result.error:
print(f"Trial #{i} had an error:", result.error)
continue
print(
f"Trial #{i} finished successfully train loss of :",
result.metrics["train loss"], " train acc of :",
result.metrics["train cont acc"], " val loss of :",
result.metrics["val loss"], " val cont acc of :",
result.metrics["val cont acc"], " val acc of :",
result.metrics["val acc"]
)
if __name__ == '__main__': if __name__ == '__main__':
args = load_args() args = load_args()
print(args) print(args)
main(args) analyze_ray_res('/lustre/fswork/projects/rech/bun/ucg81ws/these/pseudo_image/image_ref/ray_results/','base_experiment',args)
# main(args)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment