Exemple #1
0
        public override void ReadFrom(GraphFactory factory, BinaryReader reader)
        {
            var lap = factory?.LinearAlgebraProvider;

            InputSize  = reader.ReadInt32();
            OutputSize = reader.ReadInt32();

            // read the bias parameters
            var bias = FloatVector.ReadFrom(reader);

            if (Bias == null)
            {
                Bias = lap.CreateVector(bias);
            }
            else
            {
                Bias.Data = bias;
            }

            // read the weight parameters
            var weight = FloatMatrix.ReadFrom(reader);

            if (Weight == null)
            {
                Weight = lap.CreateMatrix(weight);
            }
            else
            {
                Weight.Data = weight;
            }
            if (_updater == null)
            {
                _updater = factory?.CreateWeightUpdater(Weight);
            }
        }
Exemple #2
0
        object _ReadColumn(Column column, BinaryReader reader)
        {
            var type = column.Type;

            switch (type)
            {
            case ColumnType.String:
                return(reader.ReadString());

            case ColumnType.Double:
                return(reader.ReadDouble());

            case ColumnType.Int:
                return(reader.ReadInt32());

            case ColumnType.Float:
                return(reader.ReadSingle());

            case ColumnType.Boolean:
                return(reader.ReadBoolean());

            case ColumnType.Date:
                return(new DateTime(reader.ReadInt64()));

            case ColumnType.Long:
                return(reader.ReadInt64());

            case ColumnType.Byte:
                return(reader.ReadByte());

            case ColumnType.IndexList:
                return(IndexList.ReadFrom(reader));

            case ColumnType.WeightedIndexList:
                return(WeightedIndexList.ReadFrom(reader));

            case ColumnType.Vector:
                return(FloatVector.ReadFrom(reader));

            case ColumnType.Matrix:
                return(FloatMatrix.ReadFrom(reader));

            case ColumnType.Tensor:
                return(FloatTensor.ReadFrom(reader));

            default:
                return(null);
            }
        }
Exemple #3
0
        public override void ReadFrom(GraphFactory factory, BinaryReader reader)
        {
            var lap = factory?.LinearAlgebraProvider;

            _padding             = reader.ReadInt32();
            _filterWidth         = reader.ReadInt32();
            _filterHeight        = reader.ReadInt32();
            _xStride             = reader.ReadInt32();
            _yStride             = reader.ReadInt32();
            _inputDepth          = reader.ReadInt32();
            _shouldBackpropagate = reader.ReadBoolean();

            // read the bias parameters
            var bias = FloatVector.ReadFrom(reader);

            if (_bias == null)
            {
                _bias = lap.CreateVector(bias);
            }
            else
            {
                _bias.Data = bias;
            }

            // read the weight parameters
            var weight = FloatMatrix.ReadFrom(reader);

            if (_filter == null)
            {
                _filter = lap.CreateMatrix(weight);
            }
            else
            {
                _filter.Data = weight;
            }

            // read the updater
            if (_updater == null)
            {
                _updater = factory?.CreateWeightUpdater(_filter);
            }
        }