コード例 #1
0
        public static Project Open(string filePath)
        {
            try
            {
                JsonSerializerSettings sett = new JsonSerializerSettings();
                sett.NullValueHandling = NullValueHandling.Ignore;

                var strJson     = System.IO.File.ReadAllText(filePath);
                var obj         = JsonConvert.DeserializeObject(strJson, sett);
                var d           = ((dynamic)obj)["DataSet"] as Newtonsoft.Json.Linq.JObject;
                var mods        = ((dynamic)obj)["Models"] as Newtonsoft.Json.Linq.JArray;
                var name        = ((dynamic)obj)["Name"] as Newtonsoft.Json.Linq.JValue;
                var projectInfo = ((dynamic)obj)["ProjectInfo"] as Newtonsoft.Json.Linq.JValue;


                //create NET Project object from Json
                var guid    = System.Guid.NewGuid().ToString();
                var project = new Project(guid);
                project.Name = (string)name;

                project.DataSet     = d.ToObject <DataSet1>();
                project.FilePath    = filePath;
                project.ProjectInfo = (string)projectInfo;

                //
                //de-serialize models
                Model[] mod = mods.ToObject <Model[]>();
                foreach (var m in mod)
                {
                    var g   = System.Guid.NewGuid().ToString();
                    var exp = new Data.Experiment(m.DataSet);

                    var classes = exp.GetColumnsFromOutput()[0].Statistics.Categories;
                    var label   = exp.GetColumnsFromOutput()[0].Name;

                    var mm = new Model(g);
                    mm.Factory = m.Factory;
                    mm.Name    = m.Name;
                    mm.DataSet = m.DataSet;
                    mm.ExpData = exp;
                    //mm.SetParent(pController);
                    mm.InitPersistedModel();
                    //project.Models.Add(mm);
                    project.Models.Add(mm);
                }

                return(project);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
ファイル: MainWindow.cs プロジェクト: turn11/gpdotnet
        void UpdateModel(bool randomizeData)
        {
            if (MessageBox.Show("Once the model is updated, previous solution will be discarded.", "GPdotNET", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
            {
                return;
            }

            DialogResult res        = DialogResult.OK;
            var          modelIndex = 0;
            var          project    = getActiveProject();

            if (project == null)
            {
                MessageBox.Show("Project is not selected.");
                return;
            }
            if (project.Models.Count == 0)
            {
                MessageBox.Show("Select new project.");
                return;
            }
            else if (project.Models.Count > 1)
            {
                PromptForName dlg = new PromptForName();
                dlg.comboBox1.Items.AddRange(project.Models.Select(x => x.Model.Name).ToArray());
                res        = dlg.ShowDialog();
                modelIndex = dlg.comboBox1.SelectedIndex;
            }

            if (res == DialogResult.OK)
            {
                var model = project.Project.Models[modelIndex];

                var dataset = project.Project.DataSet.GetDataSet(randomizeData);
                var exp     = new Data.Experiment(dataset);


                model.DataSet = dataset;
                model.ExpData = exp;

                model.ResetSolution();
            }
        }
コード例 #3
0
        /// <summary>
        /// Create model from Console app
        /// </summary>
        /// <param name="guid"></param>
        /// <param name="mName"></param>
        /// <param name="randomizeData"></param>
        public void CreateModel(string guid, string mName, bool randomizeData)
        {
            var dataset = DataSet.GetDataSet(randomizeData);
            var exp     = new Data.Experiment(dataset);

            var name    = Name;
            var classes = exp.GetColumnsFromOutput()[0].Statistics.Categories;
            var label   = exp.GetColumnsFromOutput()[0].Name;
            var model   = new Model(guid);

            //experiment
            model.ModelName = mName;
            model.Name      = mName;
            //get data
            model.Project = this;
            model.DataSet = dataset;
            model.ExpData = exp;

            //init empty GPfactory based on default parameters and experiment
            model.InitNewModel();
            Models.Add(model);
        }