コード例 #1
0
ファイル: NnProject.cs プロジェクト: tengge1/neuron-dotnet-cn
        public static void Save(NnProject nnProject, string saveFolder)
        {
            // 使用默认或传递的文件夹?
            if (saveFolder.Length > 0)
            {
                nnProject.SaveFolder = saveFolder;
            }

            // 保存网络
            string path = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".ndn");

            SaveNeuralNetwork(nnProject.Network, path);

            // 保存数据集
            path = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".trn");
            SaveTrainingSet(nnProject.TrainingSet, path);
            if (nnProject.CrossValidationSet != null)
            {
                path = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".crv");
                SaveTrainingSet(nnProject.CrossValidationSet, path);
            }

            // 保存学习参数
            path = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".xml");
            NnLearningParameters.Serialize(path, nnProject.LearningParameters);
        }
コード例 #2
0
ファイル: NnProject.cs プロジェクト: tengge1/neuron-dotnet-cn
        public static NnProject Load(string path)
        {
            NnProject nnProject = new NnProject();

            nnProject.SaveFolder  = System.IO.Path.GetDirectoryName(path);
            nnProject.ProjectName = System.IO.Path.GetFileName(path);
            nnProject.ProjectName = nnProject.ProjectName.Remove(nnProject.ProjectName.IndexOf('.'));

            // 加载网络
            string path2 = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".ndn");

            nnProject.Network = (BackpropagationNetwork)LoadNeuralNetwork(path2);

            // 加载数据集
            path2 = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".trn");
            nnProject.TrainingSet = LoadTrainingSet(path2);
            path2 = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".crv");
            if (File.Exists(path2))
            {
                nnProject.CrossValidationSet = LoadTrainingSet(path2);
            }

            // 保存学习参数
            path2 = System.IO.Path.Combine(nnProject.SaveFolder, nnProject.ProjectName + ".xml");
            nnProject.LearningParameters = NnLearningParameters.Deserialize(path2);

            return(nnProject);
        }
コード例 #3
0
ファイル: NnProject.cs プロジェクト: tengge1/neuron-dotnet-cn
 public static void Serialize(string path, NnLearningParameters pms)
 {
     System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(NnProject.NnLearningParameters));
     using (StreamWriter sw = new StreamWriter(path))
     {
         xs.Serialize(sw, pms);
     }
 }