Class: Mnist::Playground
- Inherits:
-
Object
- Object
- Mnist::Playground
- Defined in:
- lib/mnist/playground.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
Returns the value of attribute logger.
-
#strategies ⇒ Object
Returns the value of attribute strategies.
Instance Method Summary collapse
- #guess(dataset = Mnist::Dataset::TEST_DUMMY) ⇒ Object
-
#initialize ⇒ Playground
constructor
A new instance of Playground.
- #log_level(level) ⇒ Object
- #results ⇒ Object
- #train(dataset = Mnist::Dataset::TRAIN_DUMMY) ⇒ Object
Constructor Details
#initialize ⇒ Playground
Returns a new instance of Playground.
10 11 12 13 14 15 16 |
# File 'lib/mnist/playground.rb', line 10 def initialize @strategies = Mnist::Strategies::Base.descendants.map(&:new) @results = Hash.new { |hash, key| hash[key] = [] } @logger = Logger.new(STDOUT) log_level(Logger::INFO) end |
Instance Attribute Details
#logger ⇒ Object
Returns the value of attribute logger.
8 9 10 |
# File 'lib/mnist/playground.rb', line 8 def logger @logger end |
#strategies ⇒ Object
Returns the value of attribute strategies.
8 9 10 |
# File 'lib/mnist/playground.rb', line 8 def strategies @strategies end |
Instance Method Details
#guess(dataset = Mnist::Dataset::TEST_DUMMY) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/mnist/playground.rb', line 30 def guess(dataset = Mnist::Dataset::TEST_DUMMY) with_dataset(dataset) do |value, data| strategies.each do |strategy| guess = strategy.guess(data) @results[strategy] << { value: value, guess: guess, result: guess == value } end end end |
#log_level(level) ⇒ Object
18 19 20 |
# File 'lib/mnist/playground.rb', line 18 def log_level(level) @logger.level = level end |
#results ⇒ Object
39 40 41 42 43 44 |
# File 'lib/mnist/playground.rb', line 39 def results @results.map do |strategy, results| success, failure = results.partition { |result| result[:result] } [strategy.name, { success: success.size, failure: failure.size }] end.to_h end |
#train(dataset = Mnist::Dataset::TRAIN_DUMMY) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/mnist/playground.rb', line 22 def train(dataset = Mnist::Dataset::TRAIN_DUMMY) with_dataset(dataset) do |value, data| strategies.each do |strategy| strategy.train(value, data) end end end |