Encog.ML.Data.Buffer.EncogEGBFile.Create C# (CSharp) Method

Create() public method

Create a new RGB file.
public Create ( int inputCount, int idealCount ) : void
inputCount int The input count.
idealCount int The ideal count.
return void
        public void Create(int inputCount, int idealCount)
        {
            try
            {
                _inputCount = inputCount;
                _idealCount = idealCount;

                var input = new double[inputCount];
                var ideal = new double[idealCount];

                if( _stream!=null )
                {
                    _stream.Close();
                    _stream = null;
                }

                _stream = new FileStream(_file, FileMode.Create, FileAccess.ReadWrite);
                _binaryWriter = new BinaryWriter(_stream);
                _binaryReader = null;

                _binaryWriter.Write((byte) 'E');
                _binaryWriter.Write((byte) 'N');
                _binaryWriter.Write((byte) 'C');
                _binaryWriter.Write((byte) 'O');
                _binaryWriter.Write((byte) 'G');
                _binaryWriter.Write((byte) '-');
                _binaryWriter.Write((byte) '0');
                _binaryWriter.Write((byte) '0');

                _binaryWriter.Write((double) input.Length);
                _binaryWriter.Write((double) ideal.Length);

                _numberOfRecords = 0;
                _recordCount = _inputCount + _idealCount + 1;
                _recordSize = _recordCount*DoubleSize;
            }
            catch (IOException ex)
            {
                throw new BufferedDataError(ex);
            }
        }

Usage Example

        /// <summary>
        /// Convert an external file format, such as CSV, to the Encog binary
        /// training format.
        /// </summary>
        /// <param name="binaryFile">The binary file to create.</param>
        public void External2Binary(String binaryFile)
        {
            Status.Report(0, 0, "Importing to binary file: "
                          + binaryFile);

            var egb = new EncogEGBFile(binaryFile);

            egb.Create(_codec.InputSize, _codec.IdealSize);

            var input = new double[_codec.InputSize];
            var ideal = new double[_codec.IdealSize];

            _codec.PrepareRead();

            int    currentRecord = 0;
            int    lastUpdate    = 0;
            double significance  = 0;

            while (_codec.Read(input, ideal, ref significance))
            {
                egb.Write(input);
                egb.Write(ideal);

                currentRecord++;
                lastUpdate++;
                if (lastUpdate >= 10000)
                {
                    lastUpdate = 0;
                    Status.Report(0, currentRecord, "Importing...");
                }
                egb.Write(significance);
            }

            egb.Close();
            _codec.Close();
            Status.Report(0, 0, "Done importing to binary file: "
                          + binaryFile);
        }
All Usage Examples Of Encog.ML.Data.Buffer.EncogEGBFile::Create