Class: Trainers::PrinterCallback

Inherits:
TrainerCallback show all
Defined in:
lib/trainers/callbacks.rb

Overview

Default callback: prints training progress to stdout

Instance Method Summary collapse

Methods inherited from TrainerCallback

#on_epoch_begin, #on_epoch_end, #on_save, #on_step_begin, #on_step_end

Instance Method Details

#on_evaluate(args, state, control, metrics: nil, **kwargs) ⇒ Object



63
64
65
66
67
# File 'lib/trainers/callbacks.rb', line 63

def on_evaluate(args, state, control, metrics: nil, **kwargs)
  return unless metrics
  output = metrics.map { |k, v| "#{k}: #{format_value(v)}" }.join("  ")
  puts "[eval step #{state.global_step}] #{output}"
end

#on_log(args, state, control, logs: nil, **kwargs) ⇒ Object



49
50
51
52
53
# File 'lib/trainers/callbacks.rb', line 49

def on_log(args, state, control, logs: nil, **kwargs)
  return unless logs
  output = logs.map { |k, v| "#{k}: #{format_value(v)}" }.join("  ")
  puts "[step #{state.global_step}] #{output}"
end

#on_train_begin(args, state, control, **kwargs) ⇒ Object



55
56
57
# File 'lib/trainers/callbacks.rb', line 55

def on_train_begin(args, state, control, **kwargs)
  puts "Starting training: #{state.num_train_epochs} epochs, #{state.max_steps} total steps"
end

#on_train_end(args, state, control, **kwargs) ⇒ Object



59
60
61
# File 'lib/trainers/callbacks.rb', line 59

def on_train_end(args, state, control, **kwargs)
  puts "Training complete. Total steps: #{state.global_step}"
end