/// <summary>
/// Convert an Encog binary file to an external form, such as CSV.
/// </summary>
/// <param name="binaryFile">THe binary file to use.</param>
public void Binary2External(String binaryFile)
{
Status.Report(0, 0, "Exporting binary file: " + binaryFile);
EncogEGBFile egb = new EncogEGBFile(binaryFile);
egb.Open();
this.codec.PrepareWrite(egb.NumberOfRecords, egb.InputCount,
egb.IdealCount);
int inputCount = egb.InputCount;
int idealCount = egb.IdealCount;
double[] input = new double[inputCount];
double[] ideal = new double[idealCount];
int currentRecord = 0;
int lastUpdate = 0;
// now load the data
for (int i = 0; i < egb.NumberOfRecords; i++)
{
for (int j = 0; j < inputCount; j++)
{
input[j] = egb.Read();
}
for (int j = 0; j < idealCount; j++)
{
ideal[j] = egb.Read();
}
this.codec.Write(input, ideal);
currentRecord++;
lastUpdate++;
if (lastUpdate >= 10000)
{
lastUpdate = 0;
this.Status.Report(egb.NumberOfRecords, currentRecord,
"Exporting...");
}
}
egb.Close();
this.codec.Close();
Status.Report(0, 0, "Done exporting binary file: "
+ binaryFile);
}