class DNN::Loaders::JSONLoader

Private Instance Methods

load_bin(bin) click to toggle source
# File lib/dnn/core/savers.rb, line 43
def load_bin(bin)
  data = JSON.parse(bin, symbolize_names: true)
  unless @model.class.name == data[:class]
    raise DNNError, "Class name is mismatch. Target model is #{@model.class.name}. But loading model is #{data[:class]}."
  end
  set_all_params_base64_data(data[:params])
end
set_all_params_base64_data(params_data) click to toggle source
# File lib/dnn/core/savers.rb, line 51
def set_all_params_base64_data(params_data)
  @model.trainable_layers.each.with_index do |layer, i|
    params_data[i].each do |(key, (shape, base64_data))|
      bin = Base64.decode64(base64_data)
      data = Xumo::SFloat.from_binary(bin).reshape(*shape)
      layer.get_params[key].data = data
    end
  end
end