Module: DNN::Util

Defined in:
lib/dnn/core/util.rb

Class Method Summary collapse

Class Method Details

.get_minibatch(x, y, batch_size) ⇒ Object

Create a mini batch for batch size.



4
5
6
7
# File 'lib/dnn/core/util.rb', line 4

def self.get_minibatch(x, y, batch_size)
  indexes = (0...x.shape[0]).to_a.sample(batch_size)
  [x[indexes, false], y[indexes, false]]
end

.numerical_grad(x, func) ⇒ Object

Perform numerical differentiation on "forward" of "layer".



20
21
22
# File 'lib/dnn/core/util.rb', line 20

def self.numerical_grad(x, func)
  (func.(x + 1e-7) - func.(x)) / 1e-7
end

.to_categorical(y, num_classes, narray_type = nil) ⇒ Object

Categorize labels into "num_classes" classes.



10
11
12
13
14
15
16
17
# File 'lib/dnn/core/util.rb', line 10

def self.to_categorical(y, num_classes, narray_type = nil)
  narray_type ||= y.class
  y2 = narray_type.zeros(y.shape[0], num_classes)
  y.shape[0].times do |i|
    y2[i, y[i]] = 1
  end
  y2
end