summaryrefslogtreecommitdiff
path: root/app/helpers/projects/ml/experiments_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/projects/ml/experiments_helper.rb')
-rw-r--r--app/helpers/projects/ml/experiments_helper.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/helpers/projects/ml/experiments_helper.rb b/app/helpers/projects/ml/experiments_helper.rb
new file mode 100644
index 00000000000..29bd879859e
--- /dev/null
+++ b/app/helpers/projects/ml/experiments_helper.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+module Projects
+ module Ml
+ module ExperimentsHelper
+ require 'json'
+ include ActionView::Helpers::NumberHelper
+
+ def candidates_table_items(candidates)
+ 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)] }
+ }
+ end
+
+ Gitlab::Json.generate(items)
+ end
+
+ def unique_logged_names(candidates, &selector)
+ Gitlab::Json.generate(candidates.flat_map(&selector).map(&:name).uniq)
+ end
+ end
+ end
+end