Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/projects/ml/experiments_helper.rb')
-rw-r--r--app/helpers/projects/ml/experiments_helper.rb40
1 files changed, 39 insertions, 1 deletions
diff --git a/app/helpers/projects/ml/experiments_helper.rb b/app/helpers/projects/ml/experiments_helper.rb
index 29bd879859e..a67484e3d2f 100644
--- a/app/helpers/projects/ml/experiments_helper.rb
+++ b/app/helpers/projects/ml/experiments_helper.rb
@@ -9,7 +9,9 @@ module Projects
items = candidates.map do |candidate|
{
**candidate.params.to_h { |p| [p.name, p.value] },
- **candidate.latest_metrics.to_h { |m| [m.name, number_with_precision(m.value, precision: 4)] }
+ **candidate.latest_metrics.to_h { |m| [m.name, number_with_precision(m.value, precision: 4)] },
+ artifact: link_to_artifact(candidate),
+ details: link_to_details(candidate)
}
end
@@ -19,6 +21,42 @@ module Projects
def unique_logged_names(candidates, &selector)
Gitlab::Json.generate(candidates.flat_map(&selector).map(&:name).uniq)
end
+
+ def candidate_as_data(candidate)
+ data = {
+ params: candidate.params,
+ metrics: candidate.latest_metrics,
+ info: {
+ iid: candidate.iid,
+ path_to_artifact: link_to_artifact(candidate),
+ experiment_name: candidate.experiment.name,
+ path_to_experiment: link_to_experiment(candidate),
+ status: candidate.status
+ }
+ }
+
+ Gitlab::Json.generate(data)
+ end
+
+ private
+
+ def link_to_artifact(candidate)
+ artifact = candidate.artifact
+
+ return unless artifact.present?
+
+ project_package_path(candidate.experiment.project, artifact)
+ end
+
+ def link_to_details(candidate)
+ project_ml_candidate_path(candidate.experiment.project, candidate.iid)
+ end
+
+ def link_to_experiment(candidate)
+ experiment = candidate.experiment
+
+ project_ml_experiment_path(experiment.project, experiment.iid)
+ end
end
end
end