public AveragePool2dLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new AveragePool2dLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryInputAddress = sr.Read <uint>(), MainMemoryOutputAddress = sr.Read <uint>(), InputWidth = sr.Read <uint>(), InputHeight = sr.Read <uint>(), InputChannels = sr.Read <uint>(), OutputWidth = sr.Read <uint>(), OutputHeight = sr.Read <uint>(), OutputChannels = sr.Read <uint>(), KernelWidth = sr.Read <uint>(), KernelHeight = sr.Read <uint>(), StrideWidth = sr.Read <uint>(), StrideHeight = sr.Read <uint>(), PaddingWidth = sr.Read <uint>(), PaddingHeight = sr.Read <uint>(), Activation = sr.Read <ActivationFunctionType>() }; return(argument); }
public K210Emulator(byte[] kmodel) { _kmodel = kmodel; ReadHeader(); _deserializeContext = new K210BinDeserializeContext { WeightsBits = _weightsBits, KModel = _kmodel }; }
public LogisticLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new LogisticLayerArgument(); argument.Flags = sr.Read <K210LayerFlags>(); argument.MainMemoryInputAddress = sr.Read <uint>(); argument.MainMemoryOutputAddress = sr.Read <uint>(); argument.Channels = sr.Read <uint>(); return(argument); }
public L2NormalizationLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new L2NormalizationLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryInputAddress = sr.Read <uint>(), MainMemoryOutputAddress = sr.Read <uint>(), Channels = sr.Read <uint>() }; return(argument); }
public ConcatenationLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new ConcatenationLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryOutputAddress = sr.Read <uint>(), InputCount = sr.Read <uint>() }; argument.InputsMainMemory = sr.ReadArray <MemoryRange>((int)argument.InputCount); return(argument); }
public GlobalAveragePool2dLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new GlobalAveragePool2dLayerArgument(); argument.Flags = sr.Read <K210LayerFlags>(); argument.MainMemoryInputAddress = sr.Read <uint>(); argument.MainMemoryOutputAddress = sr.Read <uint>(); argument.KernelSize = sr.Read <uint>(); argument.Channels = sr.Read <uint>(); return(argument); }
public DequantizeLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new DequantizeLayerArgument(); argument.Flags = sr.Read <K210LayerFlags>(); argument.MainMemoryInputAddress = sr.Read <uint>(); argument.MainMemoryOutputAddress = sr.Read <uint>(); argument.Count = sr.Read <uint>(); argument.QuantParam = sr.Read <K210QuantizationParam>(); return(argument); }
public AddLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new AddLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryInputAAddress = sr.Read <uint>(), MainMemoryInputBAddress = sr.Read <uint>(), MainMemoryOutputAddress = sr.Read <uint>(), Count = sr.Read <uint>() }; return(argument); }
public RequantizeLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new RequantizeLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryInputAddress = sr.Read <uint>(), MainMemoryOutputAddress = sr.Read <uint>(), Count = sr.Read <uint>(), Table = sr.ReadArray <byte>(256) }; return(argument); }
public TensorflowFlattenLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new TensorflowFlattenLayerArgument(); argument.Flags = sr.Read <K210LayerFlags>(); argument.MainMemoryInputAddress = sr.Read <uint>(); argument.MainMemoryOutputAddress = sr.Read <uint>(); argument.Width = sr.Read <uint>(); argument.Height = sr.Read <uint>(); argument.Channels = sr.Read <uint>(); return(argument); }
public FullyConnectedLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new FullyConnectedLayerArgument(); argument.Flags = sr.Read<K210LayerFlags>(); argument.MainMemoryInputAddress = sr.Read<uint>(); argument.MainMemoryOutputAddress = sr.Read<uint>(); argument.InputChannels = sr.Read<uint>(); argument.OutputChannels = sr.Read<uint>(); argument.Activation = sr.Read<ActivationFunctionType>(); argument.Weights = MemoryMarshal.Cast<byte, float>(sr.ReadAsSpan((int)(argument.InputChannels * argument.OutputChannels * 4))).ToArray(); argument.Bias = MemoryMarshal.Cast<byte, float>(sr.ReadAsSpan((int)(argument.OutputChannels * 4))).ToArray(); return argument; }
public K210UploadLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new K210UploadLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryInputAddress = sr.Read <uint>(), KPUMemoryOutputAddress = sr.Read <uint>(), Width = sr.Read <uint>(), Height = sr.Read <uint>(), Channels = sr.Read <uint>() }; return(argument); }
public ChannelwiseDequantizeLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new ChannelwiseDequantizeLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryInputAddress = sr.Read <uint>(), MainMemoryOutputAddress = sr.Read <uint>(), Channels = sr.Read <uint>(), ChannelSize = sr.Read <uint>() }; argument.QuantParams = sr.ReadArray <K210QuantizationParam>((int)argument.Channels); return(argument); }
public ResizeNearestNeighborLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new ResizeNearestNeighborLayerArgument { Flags = sr.Read <K210LayerFlags>(), MainMemoryInputAddress = sr.Read <uint>(), MainMemoryOutputAddress = sr.Read <uint>(), InputWidth = sr.Read <uint>(), InputHeight = sr.Read <uint>(), Channels = sr.Read <uint>(), OutputWidth = sr.Read <uint>(), OutputHeight = sr.Read <uint>(), AlignCorners = sr.Read <int>() }; return(argument); }
public K210Conv2dLayerArgument DeserializeBin(int offset, K210BinDeserializeContext context) { var sr = context.GetReaderAt(offset); var argument = new K210Conv2dLayerArgument(); argument.Flags = sr.Read <K210LayerFlags>(); argument.MainMemoryOutputAddress = sr.Read <uint>(); argument.ParamAddress = new K210Conv2dParamAddress { Layer = sr.Read <uint>(), Weights = sr.Read <uint>(), Bn = sr.Read <uint>(), Activation = sr.Read <uint>() }; DeserializeBinLayer(argument, context); DeserializeBinWeights(argument, context); DeserializeBinBn(argument, context); DeserializeBinActivation(argument, context); return(argument); }