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. 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.



98
99
100
101
102
103
104
105
# File 'lib/dnn/core/callbacks.rb', line 98

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

Instance Method Details

#after_epochObject



107
108
109
# File 'lib/dnn/core/callbacks.rb', line 107

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

#after_train_on_batchObject



111
112
113
# File 'lib/dnn/core/callbacks.rb', line 111

def after_train_on_batch
  logging(:train_loss)
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.



118
119
120
121
122
123
124
125
# File 'lib/dnn/core/callbacks.rb', line 118

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