Class: DNN::Callbacks::Logger

Inherits:
Callback
  • Object
show all
Defined in:
lib/dnn/core/callbacks.rb

Overview

A callback that save the log. The following logs will be recorded. epoch: Current epoch. step: Current step in epoch. train_loss: Batch training loss. test_loss: Mean test loss. test_accuracy: Test accuracy.

Instance Attribute Summary

Attributes inherited from Callback

#model

Instance Method Summary collapse

Constructor Details

#initializeLogger

Returns a new instance of Logger.



112
113
114
115
116
117
118
119
120
# File 'lib/dnn/core/callbacks.rb', line 112

def initialize
  @log = {
    epoch: [],
    step: [],
    train_loss: [],
    test_loss: [],
    test_accuracy: [],
  }
end

Instance Method Details

#after_epochObject



122
123
124
# File 'lib/dnn/core/callbacks.rb', line 122

def after_epoch
  logging(:epoch, :test_loss, :test_accuracy)
end

#after_train_on_batchObject



126
127
128
# File 'lib/dnn/core/callbacks.rb', line 126

def after_train_on_batch
  logging(:train_loss, :step)
end

#get_log(tag) ⇒ Numo::NArray

Get a log.

Parameters:

  • tag (Symbol)

    Tag indicating the type of Log.

Returns:

  • (Numo::NArray)

    Return the recorded log.



133
134
135
136
137
138
139
140
# File 'lib/dnn/core/callbacks.rb', line 133

def get_log(tag)
  case tag
  when :epoch, :step
    Xumo::UInt32.cast(@log[tag])
  else
    Xumo::SFloat.cast(@log[tag])
  end
end