📄 file commands.cs
字号:
using System;
//using System.Windows.Forms;
//using System.Collections;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
//using System.Data;
using XOR_ANN.ANN;
namespace XOR_ANN.GUI
{
/// <summary>
/// Summary description for FileCommands.
/// </summary>
public class FileCommands
{
public static void saveSerializationData(XOR_ANN.DataStructures.ANN_Data pANN_Data, string pFile)
{
if (pFile.Length <= 0)
{
// Let the user choose a SAVE file
System.Windows.Forms.SaveFileDialog fileDialog = new System.Windows.Forms.SaveFileDialog();
fileDialog.Filter = "Paul's ANN Assignment Data files (*.pkl)|*.pkl";
fileDialog.InitialDirectory = @"C:\temp";
fileDialog.ShowDialog();
pFile = fileDialog.FileName;
}
if (pFile.Length>0)
{
Stream file = File.Open(pFile, FileMode.Create);
IFormatter formatter = (IFormatter)new BinaryFormatter();
// Serialise the Global Parameters
formatter.Serialize(file, SingletonGlobalParameters.instance().LEARNING_RATE);
formatter.Serialize(file, SingletonGlobalParameters.instance().MOMENTUM);
formatter.Serialize(file, SingletonGlobalParameters.instance().OUTPUT_TOLERANCE);
formatter.Serialize(file, SingletonGlobalParameters.instance().MAXIMUM_EPOCHS);
formatter.Serialize(file, SingletonGlobalParameters.instance().INPUT_HEIGHT);
formatter.Serialize(file, SingletonGlobalParameters.instance().INPUT_WIDTH);
formatter.Serialize(file, SingletonGlobalParameters.instance().HIDDEN_NODES);
// Serialise the ANN_Data
formatter.Serialize(file, pANN_Data.inputNodes);
formatter.Serialize(file, pANN_Data.hiddenNodes);
formatter.Serialize(file, pANN_Data.outputNodes);
formatter.Serialize(file, pANN_Data.hiddenWeight);
formatter.Serialize(file, pANN_Data.outputWeight);
file.Close();
}
}
public static void loadSerializationData(ref XOR_ANN.DataStructures.ANN_Data pANN_Data)
{
// Let the user choose a LOAD file
System.Windows.Forms.OpenFileDialog fileDialog = new System.Windows.Forms.OpenFileDialog();
fileDialog.Filter = "Paul's ANN Assignment Data files (*.pkl)|*.pkl";
fileDialog.InitialDirectory = @"C:\temp";
fileDialog.ShowDialog();
string fileName = fileDialog.FileName;
if (File.Exists(fileName))
{
Stream file = File.Open(fileName, FileMode.Open);
IFormatter formatter = (IFormatter)new BinaryFormatter();
// DeSerialise the Global Parameters
SingletonGlobalParameters.instance().LEARNING_RATE = (float)formatter.Deserialize(file);
SingletonGlobalParameters.instance().MOMENTUM = (float)formatter.Deserialize(file);
SingletonGlobalParameters.instance().OUTPUT_TOLERANCE = (float)formatter.Deserialize(file);
SingletonGlobalParameters.instance().MAXIMUM_EPOCHS = (int)formatter.Deserialize(file);
SingletonGlobalParameters.instance().INPUT_HEIGHT = (int)formatter.Deserialize(file);
SingletonGlobalParameters.instance().INPUT_WIDTH = (int)formatter.Deserialize(file);
SingletonGlobalParameters.instance().HIDDEN_NODES = (int)formatter.Deserialize(file);
// DeSerialise the ANN_Data
int inputNodes = (int)formatter.Deserialize(file);
int hiddenNodes = (int)formatter.Deserialize(file);
int outputNodes = (int)formatter.Deserialize(file);
pANN_Data = new XOR_ANN.DataStructures.ANN_Data(inputNodes, hiddenNodes, outputNodes, 0);
pANN_Data.hiddenWeight = (float[,])formatter.Deserialize(file);
pANN_Data.outputWeight = (float[,])formatter.Deserialize(file);
file.Close();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -