Sha256: b662a12876d305faaa3728a38c8a7eb66042e8d8c0dc54cab10d2f3e8b64efbe
Contents?: true
Size: 906 Bytes
Versions: 2
Compression:
Stored size: 906 Bytes
Contents
module DNN # This module provides utility functions. module Utils # Categorize labels into "num_classes" classes. 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 # Convert hash to an object. def self.load_hash(hash) dnn_class = DNN.const_get(hash[:class]) if dnn_class.respond_to?(:load_hash) return dnn_class.load_hash(hash) end dnn_class.new end # TODO # Don't want to write an implementation of the activation function in utils, so we will consider it later. def self.sigmoid(x) 1 / (1 + NMath.exp(-x)) end def self.softmax(x) NMath.exp(x) / NMath.exp(x).sum(1).reshape(x.shape[0], 1) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby-dnn-0.9.3 | lib/dnn/core/utils.rb |
ruby-dnn-0.9.2 | lib/dnn/core/utils.rb |