class Chainer::Serializers::MarshalSerializer
Attributes
path[RW]
target[RW]
Public Class Methods
new(target: nil, path: "", device: Chainer::Device.default)
click to toggle source
# File lib/chainer/serializers/marshal.rb, line 16 def initialize(target: nil, path: "", device: Chainer::Device.default) @target = target.nil? ? {} : target @path = path @device = device @xm = device.xm end
save_file(file_path, obj)
click to toggle source
@param [string] file_path Target file path @param [Object] obj Object to be serialized
# File lib/chainer/serializers/marshal.rb, line 8 def self.save_file(file_path, obj) s = self.new s.save(obj) File.open(file_path, 'wb') do |f| Marshal.dump(s.target, f) end end
Public Instance Methods
[](key)
click to toggle source
# File lib/chainer/serializers/marshal.rb, line 23 def [](key) self.class.new(target: @target, path: File.join(@path, key, '/')) end
call(key, value)
click to toggle source
# File lib/chainer/serializers/marshal.rb, line 27 def call(key, value) ret = value if value.is_a?(TrueClass) arr = @xm::Bit[1] elsif value.is_a?(FalseClass) arr = @xm::Bit[0] elsif value.instance_of?(String) || value.nil? arr = value else arr = @xm::NArray.cast(value) end @target[File.join(@path, key)] = arr ret end