Beispiel #1
0
        private static void SuDeserializer(ModelSaver data, NeVeModel model)
        {
            model.MainVectors    = data.MainVectorString.Select(x => Vector <double> .Build.Dense(Array.ConvertAll(x.Split(','), double.Parse))).ToList();
            model.ContextVectors = data.ContextVectorString.Select(x => Vector <double> .Build.Dense(Array.ConvertAll(x.Split(','), double.Parse))).ToList();
            var index = 0;

            model.Word2Index = data.Indexer.Split(',').ToDictionary(x => x, x => index++);
        }
Beispiel #2
0
        public void ReadModel(string filename)
        {
            //var contents = File.ReadAllText(filename);

            var data = new ModelSaver
            {
                MainVectorString    = new List <string>(),
                ContextVectorString = new List <string>(),
                //Indexer = contents[2],
            };//

            var index = 0;

            foreach (var item in File.ReadLines(filename))
            {
                if (string.IsNullOrEmpty(item))
                {
                    index++;
                }
                else
                {
                    switch (index)
                    {
                    case 0:
                        data.MainVectorString.Add(item);
                        break;

                    case 1:
                        data.ContextVectorString.Add(item);
                        break;

                    default:
                        data.Indexer = item;
                        break;
                    }
                }
            }

            //var data = (ModelSaver)DataStructures.Deserialization(contents, typeof(ModelSaver));

            SuDeserializer(data, this);
            //this.WordCount = this.Word2Index.Count();
            //this.Ip2VecSettings.NeuronCount = data.Y;
        }