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++); }
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; }