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