lib/dnn/core/embedding.rb in ruby-dnn-0.13.1 vs lib/dnn/core/embedding.rb in ruby-dnn-0.13.2

- old
+ new

@@ -5,16 +5,10 @@ attr_reader :input_length attr_reader :weight attr_reader :weight_initializer attr_reader :weight_regularizer - def self.from_hash(hash) - self.new(hash[:input_shape], hash[:input_length], - weight_initializer: DNN::Utils.hash_to_obj(hash[:weight_initializer]), - weight_regularizer: DNN::Utils.hash_to_obj(hash[:weight_regularizer])) - end - # @param [Integer | Array] input_dim_or_shape Set input data dimension or shape. # @param [Integer] input_length Set the time series length of input data. # @param [DNN::Initializers::Initializer] weight_initializer Weight initializer. # @param [DNN::Regularizers::Regularizer | NilClass] weight_regularizer Weight regularizer. def initialize(input_dim_or_shape, input_length, @@ -63,9 +57,15 @@ end def to_hash super(input_shape: @input_shape, input_length: @input_length, weight_initializer: @weight_initializer.to_hash, weight_regularizer: @weight_regularizer&.to_hash) + end + + def load_hash(hash) + initialize(hash[:input_shape], hash[:input_length], + weight_initializer: Initializers::Initializer.from_hash(hash[:weight_initializer]), + weight_regularizer: Regularizers::Regularizer.from_hash(hash[:weight_regularizer])) end def get_params { weight: @weight } end