diff options
Diffstat (limited to 'app/helpers/projects/ml/experiments_helper.rb')
-rw-r--r-- | app/helpers/projects/ml/experiments_helper.rb | 24 |
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 |