Tools
Packing
Tools which ease the the weights (de)serialization.
Fed.Serde.pack — Functionpack(data)Utility function to serialize data into a byte array.
Fed.Serde.unpack — Functionunpack(bytes)Utility function to deserialize bytes into its original representation.
Quantizer
Tools to (de)quantize a vector of values.
Fed.Serde.Quantizer — TypeQuantizer{T <: Unsigned}Apply value quantization by scaling it down from one type to another, which requires less bits than the original type.
Fed.Serde.Quantizer — MethodQuantizer{T}(minval, maxval)Create a new Quantizer which can quantize values from the range [minval, maxval].
Fed.Serde.Quantizer — MethodQuantizer{T}(data::Vector{Float32})Create a new Quantizer for the given data.
Fed.Serde.quantize — Functionquantize(q::Quantizer{T}, x) where T <: UnsignedQuantize x with the Quantizer q.
Fed.Serde.dequantize — Functiondequantize(q::Quantizer, x)Dequantize x with the Quantizer q.
Delta compressor
Expose a generic diff and patch mechanism to remove redundant elements from a Vector.
Fed.Serde.Patch — TypePatch{T <: Any}Data structure which contains the diff between two Vector. The second Vector can then be rebuilt by patching the first one with the Patch.
Fed.Serde.diff — Functiondiff(old::Vector{T}, new::Vector{T}, sizeof_T::Int)Generate a Patch by delta compressing the difference between old and new.
Fed.Serde.patch — Functionpatch(old::Vector{T}, patch::Patch{T})Apply patch to old.