Class: Mnist::Displayers::Basic
- Inherits:
-
Object
- Object
- Mnist::Displayers::Basic
- Defined in:
- lib/mnist/displayers/basic.rb
Class Method Summary collapse
- .all(data1, data2) ⇒ Object
- .common(data1, data2) ⇒ Object
- .diff(data1, data2) ⇒ Object
- .display(data, length: Math.sqrt(data.size)) ⇒ Object
Class Method Details
.all(data1, data2) ⇒ Object
26 27 28 29 30 |
# File 'lib/mnist/displayers/basic.rb', line 26 def self.all(data1, data2) display(data1.zip(data2).map do |(value1, value2)| (value1 - value2).abs end) end |
.common(data1, data2) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/mnist/displayers/basic.rb', line 4 def self.common(data1, data2) display(data1.zip(data2).map do |(value1, value2)| if value1 > 0 && value2 > 0 (value1 + value2) / 2 else 0 end end) end |
.diff(data1, data2) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/mnist/displayers/basic.rb', line 14 def self.diff(data1, data2) display(data1.zip(data2).map do |(value1, value2)| if value1 > 0 && value2 == 0 value1 elsif value1 == 0 && value2 > 0 value2 else 0 end end) end |
.display(data, length: Math.sqrt(data.size)) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/mnist/displayers/basic.rb', line 32 def self.display(data, length: Math.sqrt(data.size)) data.each_slice(length) do |row| puts(row.map do |value| if value > 225 '@' elsif value > 175 '0' elsif value > 100 'O' elsif value > 0 'o' else '-' end end.join) end end |