public void CanParseTabDelimtedData() { var data = "1" + Environment.NewLine + "\"2.2\"\t\t0.3e1" + Environment.NewLine + "'4'\t5\t6"; var reader = new DelimitedReader <SparseMatrix>('\t') { CultureInfo = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0, matrix[0, 0]); Assert.AreEqual(0.0, matrix[0, 1]); Assert.AreEqual(0.0, matrix[0, 2]); Assert.AreEqual(2.2, matrix[1, 0]); Assert.AreEqual(3.0, matrix[1, 1]); Assert.AreEqual(0.0, matrix[1, 2]); Assert.AreEqual(4.0, matrix[2, 0]); Assert.AreEqual(5.0, matrix[2, 1]); Assert.AreEqual(6.0, matrix[2, 2]); }
public void CanParseCommaDelimitedData() { var data = "a,b,c" + Environment.NewLine + "(1,2)" + Environment.NewLine + "\"2.2\",0.3e1" + Environment.NewLine + "'(4,-5)',5,6" + Environment.NewLine; var reader = new DelimitedReader <DenseMatrix>(',') { HasHeaderRow = true, CultureInfo = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0, matrix[0, 0].Real); Assert.AreEqual(2.0, matrix[0, 0].Imaginary); Assert.AreEqual(0.0, matrix[0, 1]); Assert.AreEqual(0.0, matrix[0, 2]); Assert.AreEqual(2.2, matrix[1, 0]); Assert.AreEqual(3.0, matrix[1, 1]); Assert.AreEqual(0.0, matrix[1, 2]); Assert.AreEqual(4.0, matrix[2, 0].Real); Assert.AreEqual(-5.0, matrix[2, 0].Imaginary); Assert.AreEqual(5.0, matrix[2, 1]); Assert.AreEqual(6.0, matrix[2, 2]); }
public void CanParseWhiteSpaceDelimitedData() { var data = "1" + Environment.NewLine + "\"(2.2,3.3)\" 0.3e1" + Environment.NewLine + "'4' 5 6" + Environment.NewLine; var reader = new DelimitedReader <UserDefinedMatrix> { CultureInfo = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0, matrix[0, 0]); Assert.AreEqual(0.0, matrix[0, 1]); Assert.AreEqual(0.0, matrix[0, 2]); Assert.AreEqual(2.2, matrix[1, 0].Real); Assert.AreEqual(3.3, matrix[1, 0].Imaginary); Assert.AreEqual(3.0, matrix[1, 1]); Assert.AreEqual(0.0, matrix[1, 2]); Assert.AreEqual(4.0, matrix[2, 0]); Assert.AreEqual(5.0, matrix[2, 1]); Assert.AreEqual(6.0, matrix[2, 2]); }
public void CanParseComplex32CommaDelimitedData() { var data = "a,b,c" + Environment.NewLine + "(1,2)" + Environment.NewLine + "\"2.2\",0.3e1" + Environment.NewLine + "'(4,-5)',5,6" + Environment.NewLine; var reader = new DelimitedReader { Delimiter = ",", HasHeaderRow = true, FormatProvider = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix <Complex32>(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0].Real); Assert.AreEqual(2.0f, matrix[0, 0].Imaginary); Assert.AreEqual((Complex32)0.0f, matrix[0, 1]); Assert.AreEqual((Complex32)0.0f, matrix[0, 2]); Assert.AreEqual((Complex32)2.2f, matrix[1, 0]); Assert.AreEqual((Complex32)3.0f, matrix[1, 1]); Assert.AreEqual((Complex32)0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0].Real); Assert.AreEqual(-5.0f, matrix[2, 0].Imaginary); Assert.AreEqual((Complex32)5.0f, matrix[2, 1]); Assert.AreEqual((Complex32)6.0f, matrix[2, 2]); }
/// <summary> /// Load and return the digits dataset (classification). /// Each datapoint is a 8x8 image of a digit. /// ================= ============== /// Classes 10 /// Samples per class ~180 /// Samples total 1797 /// Dimensionality 64 /// Features integers 0-16 /// ================= ============== /// </summary> /// <returns>Instance of <see cref="DigitsDataset"/>.</returns> public static DigitsDataset Load() { var reader = new DelimitedReader { Sparse = false, Delimiter = " " }; var assembly = Assembly.GetAssembly(typeof(DigitsDataset)); string descr; using (var sr = new StreamReader(assembly.GetManifestResourceStream("Sharpkit.Learn.Datasets.Data.digits.rst"))) { descr = sr.ReadToEnd(); } using (var datastream = assembly.GetManifestResourceStream("Sharpkit.Learn.Datasets.Data.digits.csv.gz")) { var data = reader.ReadMatrix <double>(new GZipStream(datastream, CompressionMode.Decompress)); return(new DigitsDataset { Data = data.SubMatrix(0, data.RowCount, 0, data.ColumnCount - 1), Target = data.Column(data.ColumnCount - 1).ToArray().Cast <int>().ToArray(), Description = descr }); } }
public void TestBackPropagationWithoutRegularisaion() { NeuralNetwork.CostFunctionWithThetaParameter backProp = t => { var backPropagationResult = NeuralNetwork.BackPropagation(Xm, ym, t, new List <int>() { 4 }, 4, 0); return(backPropagationResult); }; var bothThetas = NeuralNetwork.PackThetas(new List <Matrix <double> >() { theta1NN, theta2NN }); var resultNumericalGradient = NeuralNetwork.ComputeNumericalGradient(backProp, bothThetas); var pathNumericalGradients = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\NumericalGradientForBackPropagationWithoutRegularisation.txt"); var matrixNumericalGradients = DelimitedReader.Read <double>(pathNumericalGradients); Assert.IsTrue(MatricesEqual(resultNumericalGradient, matrixNumericalGradients)); var resultBackPropagation = NeuralNetwork.BackPropagation(Xm, ym, bothThetas, new List <int>() { 4 }, 4, 0); var pathGradientForBackPropagation = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\GradientForBackPropagationWithoutRegularisation.txt"); var matrixGradientForBackPropagation = DelimitedReader.Read <double>(pathGradientForBackPropagation); Assert.IsTrue(Equalities.DoubleEquals(resultBackPropagation.Item1, 3.08744915815864)); Assert.IsTrue(MatricesEqual(resultBackPropagation.Item2, matrixGradientForBackPropagation)); Assert.IsTrue(MatricesEqual(resultBackPropagation.Item2, resultNumericalGradient, 0.000000001)); }
public void CanParseCommaDelimitedData() { var data = "a,b,c" + Environment.NewLine + "1" + Environment.NewLine + "\"2.2\",0.3e1" + Environment.NewLine + "'4',5,6" + Environment.NewLine; var reader = new DelimitedReader<DenseMatrix>(',') { HasHeaderRow = true, CultureInfo = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0]); Assert.AreEqual(0.0f, matrix[0, 1]); Assert.AreEqual(0.0f, matrix[0, 2]); Assert.AreEqual(2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1]); Assert.AreEqual(0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0]); Assert.AreEqual(5.0f, matrix[2, 1]); Assert.AreEqual(6.0f, matrix[2, 2]); }
public void TestForwardPropagation() { var resultFeedForward = NeuralNetwork.ForwardPropagation(Xm, new List <Matrix <double> >() { theta1NN, theta2NN }); var h = resultFeedForward.OutputActivation; var a1 = resultFeedForward.NodesActivations.ElementAt(0); var a2 = resultFeedForward.NodesActivations.ElementAt(1); var z2 = resultFeedForward.NodesOutputs.ElementAt(0); var z3 = resultFeedForward.NodesOutputs.ElementAt(1); var pathH = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\FeedForward_h.txt"); var patha1 = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\FeedForward_a1.txt"); var patha2 = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\FeedForward_a2.txt"); var pathz2 = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\FeedForward_z2.txt"); var pathz3 = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\FeedForward_z3.txt"); var wantedH = DelimitedReader.Read <double>(pathH); var wanteda1 = DelimitedReader.Read <double>(patha1); var wanteda2 = DelimitedReader.Read <double>(patha2); var wantedz2 = DelimitedReader.Read <double>(pathz2); var wantedz3 = DelimitedReader.Read <double>(pathz3); Assert.IsTrue(MatricesEqual(h, wantedH)); Assert.IsTrue(MatricesEqual(a1, wanteda1)); Assert.IsTrue(MatricesEqual(a2, wanteda2)); Assert.IsTrue(MatricesEqual(z2, wantedz2)); Assert.IsTrue(MatricesEqual(z3, wantedz3)); }
void Start() { trainedModelValues = DelimitedReader.Read <double>(Application.dataPath + "/trained.csv", false, ",", false, System.Globalization.CultureInfo.InvariantCulture.NumberFormat).Column(0); ship = Instantiate(spaceShipPrefab, Vector3.zero, Quaternion.identity); ship.GetComponent <SpaceShip>().InitializeBrain(trainedModelValues); ship.GetComponent <SpaceShip>().StartEngine(s => Restart()); }
void Start() { Control.UseNativeMKL(); G = DelimitedReader.Read <float>("Gmatrix" + objname + ".csv", false, ",", false); D = DelimitedReader.Read <float>("Dmatrix" + objname + ".csv", false, ",", false); //print("Gmatrix" + objname + ".csv"); }
public void CanParseCommaDelimitedData() { var data = "a,b,c" + Environment.NewLine + "1" + Environment.NewLine + "\"2.2\",0.3e1" + Environment.NewLine + "'4',5,6" + Environment.NewLine; var reader = new DelimitedReader { Delimiter = ",", HasHeaderRow = true, FormatProvider = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix <double>(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0, matrix[0, 0]); Assert.AreEqual(0.0, matrix[0, 1]); Assert.AreEqual(0.0, matrix[0, 2]); Assert.AreEqual(2.2, matrix[1, 0]); Assert.AreEqual(3.0, matrix[1, 1]); Assert.AreEqual(0.0, matrix[1, 2]); Assert.AreEqual(4.0, matrix[2, 0]); Assert.AreEqual(5.0, matrix[2, 1]); Assert.AreEqual(6.0, matrix[2, 2]); }
public void CanParseCommaDelimitedData() { const string data = @"a,b,c 1 ""2.2"",0.3e1 '4',5,6 "; var reader = new DelimitedReader<DenseMatrix>(',') { HasHeaderRow = true }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0]); Assert.AreEqual(0.0f, matrix[0, 1]); Assert.AreEqual(0.0f, matrix[0, 2]); Assert.AreEqual(2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1]); Assert.AreEqual(0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0]); Assert.AreEqual(5.0f, matrix[2, 1]); Assert.AreEqual(6.0f, matrix[2, 2]); }
public void CanParsePeriodDelimitedData() { const string data = @"a.b.c 1 ""2,2"".0,3e1 '4,0'.5,0.6,0 "; var reader = new DelimitedReader<DenseMatrix>('.') { HasHeaderRow = true, CultureInfo = new CultureInfo("tr-TR") }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0]); Assert.AreEqual(0.0f, matrix[0, 1]); Assert.AreEqual(0.0f, matrix[0, 2]); Assert.AreEqual(2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1]); Assert.AreEqual(0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0]); Assert.AreEqual(5.0f, matrix[2, 1]); Assert.AreEqual(6.0f, matrix[2, 2]); }
public void CanParsePeriodDelimitedData() { var data = "a.b.c" + Environment.NewLine + "1" + Environment.NewLine + "\"2,2\".0,3e1" + Environment.NewLine + "'4,0'.5,0.6,0" + Environment.NewLine; var reader = new DelimitedReader { Delimiter = ".", HasHeaderRow = true, FormatProvider = new CultureInfo("tr-TR") }; var matrix = reader.ReadMatrix <double>(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0, matrix[0, 0]); Assert.AreEqual(0.0, matrix[0, 1]); Assert.AreEqual(0.0, matrix[0, 2]); Assert.AreEqual(2.2, matrix[1, 0]); Assert.AreEqual(3.0, matrix[1, 1]); Assert.AreEqual(0.0, matrix[1, 2]); Assert.AreEqual(4.0, matrix[2, 0]); Assert.AreEqual(5.0, matrix[2, 1]); Assert.AreEqual(6.0, matrix[2, 2]); }
public void CanParseWhiteSpaceDelimitedData() { var data = "1" + Environment.NewLine + "\"2.2\" 0.3e1" + Environment.NewLine + "'4' 5 6" + Environment.NewLine; var reader = new DelimitedReader { FormatProvider = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix <float>(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0]); Assert.AreEqual(0.0f, matrix[0, 1]); Assert.AreEqual(0.0f, matrix[0, 2]); Assert.AreEqual(2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1]); Assert.AreEqual(0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0]); Assert.AreEqual(5.0f, matrix[2, 1]); Assert.AreEqual(6.0f, matrix[2, 2]); }
public void CanParsePeriodDelimitedData() { var data = "a.b.c" + Environment.NewLine + "1" + Environment.NewLine + "\"2,2\".0,3e1+0,2e1i" + Environment.NewLine + "'4,0'.5,0.6,0" + Environment.NewLine; var reader = new DelimitedReader <DenseMatrix>('.') { HasHeaderRow = true, CultureInfo = new CultureInfo("tr-TR") }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0, matrix[0, 0]); Assert.AreEqual(0.0, matrix[0, 1]); Assert.AreEqual(0.0, matrix[0, 2]); Assert.AreEqual(2.2, matrix[1, 0]); Assert.AreEqual(3.0, matrix[1, 1].Real); Assert.AreEqual(2.0, matrix[1, 1].Imaginary); Assert.AreEqual(0.0, matrix[1, 2]); Assert.AreEqual(4.0, matrix[2, 0]); Assert.AreEqual(5.0, matrix[2, 1]); Assert.AreEqual(6.0, matrix[2, 2]); }
private ResultModel item_predict(string pathFile) { ResultModel result = new ResultModel(); // load data Matrix <double> data = DelimitedReader.Read <double>(pathFile, false, "\t", false, System.Globalization.CultureInfo.InvariantCulture.NumberFormat); result.raw_data = data; int n_users = data.Column(0).Distinct().Count(); int n_items = data.Column(1).Distinct().Count(); double test_split = 0.1; double train_split = 1 - test_split; int train_row = (int)(data.RowCount * train_split); int train_col = data.ColumnCount; int test_row = data.RowCount - train_row; int test_col = train_col; Matrix <double> train_data = DenseMatrix.Create(train_row, train_col, 0); Matrix <double> test_data = DenseMatrix.Create(test_row, test_col, 0); train_data = data.SubMatrix(0, train_row, 0, train_col); test_data = data.SubMatrix(train_row, test_row, 0, test_col); // Create two user-item matrices, one for training and another for testing Matrix <double> train_data_matrix = DenseMatrix.Create(n_users, n_items, 0); for (int line = 0; line < train_data.RowCount; line++) { int userId = (int)(train_data[line, 0]); int itemId = (int)(train_data[line, 1] - 1); train_data_matrix[userId, itemId] = train_data[line, 2]; } Matrix <double> test_data_matrix = DenseMatrix.Create(n_users, n_items, 0); for (int line = 0; line < test_data.RowCount; line++) { int userId = (int)(test_data[line, 0]); int itemId = (int)(test_data[line, 1] - 1); test_data_matrix[userId, itemId] = test_data[line, 2]; } result.train_data = train_data_matrix; result.test_data = test_data_matrix; // consine similarity calculate Matrix <double> item_similarity = Recommender_System.cosin(train_data_matrix.Transpose()); // predict Matrix <double> item_prediction = Recommender_System.predict(train_data_matrix, item_similarity, "item"); result.predic_data = item_prediction; // rmse error double item_rmse = RMSE.calRMSE(item_prediction, test_data_matrix); result.rmse = item_rmse; return(result); }
private void button1_Click(object sender, EventArgs e) { //takes a matrix in a text file (1,1),(3,4) and the same underneath.. and reads them in //args for method = file path, booleal true if sparse matrix, string delimiter, boolean true if it has headers Matrix <Complex32> fileMatrix = DelimitedReader.Read <Complex32>(@"D:\My Documents\Paul Docs\Education, training, employment\Job\1 Research\C#\2 Tutorials Vids\3 Odds n Sods\3 Math.Net Vector math\csv.txt", false, ",", false); textBox1.AppendText(fileMatrix.ToString("F2")); }
float Alpha = 0.000020f; //rayleigh damping, metal void Start() { forceamp = 1000f; forceoffset = 0.1f; G = DelimitedReader.Read <float>("Gmatrix.csv", false, ",", false); D = DelimitedReader.Read <float>("Dmatrix.csv", false, ",", false); M = DelimitedReader.Read <float>("Mmatrix.csv", false, ",", false); }
public void TestSigmoid() { var sigmoid = NeuralNetwork.Sigmoid(X); var path = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\Sigmoid.txt"); var matrixToCompare = (DenseMatrix)DelimitedReader.Read <double>(path); Assert.IsTrue(MatricesEqual(sigmoid, matrixToCompare)); }
/// <summary> /// Initialize current model. /// </summary> public override void Initialize() { try { // Try to initialize model state from files. layers = new List <Layer>(); int count = 0; int inputCount = Config.Inputs; foreach (var layer in Config.Layers) { var state = DelimitedReader.Read <double>(Path(String.Format("layers/{0}", count))); // If either number of neurons or number of inputs // (omitting bias) is wrong, format is incorrect. if (state.RowCount != layer.NeuronCount || state.ColumnCount - 1 != inputCount) { throw new Exception("Incorrect format"); } var neurons = new List <Neuron>(); foreach (var neuronState in state.ToRowArrays()) { var weights = Vector <double> .Build.Dense(neuronState).SubVector(1, neuronState.Length - 1); neurons.Add(new Neuron(inputCount, weights, neuronState[0], layer.Function.ToString())); } layers.Add(new Layer(neurons)); // Set current layer neuron count as next layer input count. inputCount = layer.NeuronCount; count++; } Loaded = true; } catch { // If fails, generate new one from scratch. layers = new List <Layer>(); foreach (var layer in Config.Layers) { int inputCount; if (layers.Count == 0) { // First layer input count is network input count. inputCount = Config.Inputs; } else { // All subsequent layers input count is previous layer size. inputCount = layers.Last().Size; } layers.Add(Layer.Generate(layer.NeuronCount, inputCount, layer.Function.ToString())); } } }
public static RawMatrix Read(StreamReader str) { var mtx = new RawMatrix() { Scale = Double.Parse(str.ReadLine()), m = DelimitedReader.Read <double>(str), BlockSize = ulong.Parse(str.ReadLine()) }; return(mtx); }
public void Reader_ReturnVal_Split() { IEnumerable <String> strings = null; using (var reader = new DelimitedReader(TestInputFileBlank)) { strings = reader.Read(); } Assert.That(strings, Is.EquivalentTo(new[] { "Shelby Macias", "3027 Lorem St.|Kokomo|Hertfordshire|L9T 3D5|England", "1 66 890 3865-9584", "*****@*****.**" })); }
private DenseMatrix readMatrixChild(XmlNode node, string childName) { XmlElement element = node [childName]; if (element == null) { return(null); } return(DenseMatrix.OfMatrix(DelimitedReader.Read <double> (new StringReader(element.InnerText)))); }
static public RawVector Read(StreamReader str) { RawVector vct = new RawVector(0) { BlockSize = ulong.Parse(str.ReadLine()), Scale = Double.Parse(str.ReadLine()), v = DelimitedReader.Read <double>(str).Column(0), }; return(vct); }
/// <summary> /// Load and return the diabetes dataset (regression). /// ============== ================== /// Samples total 442 /// Dimensionality 10 /// Features real, -.2 < x < .2 /// Targets integer 25 - 346 /// ============== ================== /// </summary> /// <returns> /// Instance of <see cref="DiabetesDataset"/> class. /// </returns> public static DiabetesDataset Load() { var reader = new DelimitedReader { Sparse = false, Delimiter = " " }; var assembly = Assembly.GetAssembly(typeof(DiabetesDataset)); using (var datastream = assembly.GetManifestResourceStream("Sharpkit.Learn.Datasets.Data.diabetes_data.csv.gz")) using (var targetstream = assembly.GetManifestResourceStream("Sharpkit.Learn.Datasets.Data.diabetes_target.csv.gz")) { var data = reader.ReadMatrix<double>(new GZipStream(datastream, CompressionMode.Decompress)); var target = reader.ReadMatrix<double>(new GZipStream(targetstream, CompressionMode.Decompress)); return new DiabetesDataset { Data = data, Target = target.Column(0) }; } }
public void ShouldParseWhenLastStringHasNoTerminator() { var bytes = new List <byte>(); bytes.AddRange(Encoding.ASCII.GetBytes("abc")); bytes.Add(0); bytes.AddRange(Encoding.ASCII.GetBytes("def")); var reader = new DelimitedReader(new StreamReader(new MemoryStream(bytes.ToArray()))); Assert.Equal("abc", reader.Read()); Assert.Equal("def", reader.Read()); Assert.Null(reader.Read()); }
public static RawMatrix Read(StreamReader str) { var mtx = new RawMatrix() { Scale = Double.Parse(str.ReadLine()), m = DelimitedReader.Read <double>(str), BlockSize = ulong.Parse(str.ReadLine()) }; Max = Math.Max(Max, mtx.m.Enumerate().Max(x => (x < 0) ? -x : x)); return(mtx); }
public void Reader_WithOut_Split() { IEnumerable <String> strings = null; bool success = false; using (var reader = new DelimitedReader(TestInputFileBlank)) { success = reader.TryRead(out strings); } Assert.That(strings, Is.EquivalentTo(new[] { "Shelby Macias", "3027 Lorem St.|Kokomo|Hertfordshire|L9T 3D5|England", "1 66 890 3865-9584", "*****@*****.**" })); Assert.That(success, Is.True); }
public void TestCostFunction() { var tupleJAndGrad = NeuralNetwork.CostFunction(theta, X, y); var pathJ = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\J.txt"); var matrixJ = (DenseMatrix)DelimitedReader.Read <double>(pathJ); var pathGrad = Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\Grad.txt"); var matrixGrad = (DenseMatrix)DelimitedReader.Read <double>(pathGrad); Assert.IsTrue(Equalities.DoubleEquals(tupleJAndGrad.Item1, matrixJ[0, 0])); Assert.IsTrue(MatricesEqual(tupleJAndGrad.Item2, matrixGrad)); }
public bool Load(string folderPath) { bool result = false; string layerPath = folderPath; if (Directory.Exists(folderPath) == true) { var activationsFilePath = String.Format("{0}\\Activations.csv", layerPath); if (File.Exists(activationsFilePath)) { Matrix <double> a = DelimitedReader.Read <double>(activationsFilePath, sparse: false, delimiter: ","); var arrays = a.ToRowArrays(); Activations = DenseVector.Build.DenseOfArray(arrays[0]); } else { throw new System.IO.DirectoryNotFoundException(activationsFilePath); } if (Name != "Input") { var biasesFilePath = String.Format("{0}\\Biases.csv", layerPath); if (File.Exists(biasesFilePath)) { Matrix <double> a = DelimitedReader.Read <double>(biasesFilePath, sparse: false, delimiter: ","); var arrays = a.ToRowArrays(); Biases = DenseVector.Build.DenseOfArray(arrays[0]); } else { throw new System.IO.DirectoryNotFoundException(biasesFilePath); } var weightsFilePath = String.Format("{0}\\Weights.csv", layerPath); if (File.Exists(weightsFilePath)) { Weights = DelimitedReader.Read <double>(weightsFilePath, sparse: false, delimiter: ","); } else { throw new System.IO.DirectoryNotFoundException(weightsFilePath); } } result = true; } else { throw new System.IO.DirectoryNotFoundException(folderPath); } return(result); }
static void Main(string[] args) { Utils.SetNumberDecimalSeparatorToDotInCultureSettings(); var x_data = DelimitedReader.Read <double>(Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\x_data.txt")); var y_data = DelimitedReader.Read <double>(Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\y_data.txt")); NeuralNetwork.CostFunctionWithThetaParameter backProp = tt => { var backPropagationResult = NeuralNetwork.BackPropagation(x_data, y_data, tt, new List <int>() { 25 }, 10, 0); return(backPropagationResult); }; var thetas = NeuralNetwork.RandomInitialiseWeights(400, 10, new List <int>() { 25 }); var theta = NeuralNetwork.PackThetas(thetas); var resultGradientDescent = NeuralNetwork.GradientDescent(backProp, theta, 1, 300); DelimitedWriter.Write("..\\..\\TestData\\ThetaGradient.txt", resultGradientDescent.Item1, "thetaGradient"); DelimitedWriter.Write("..\\..\\TestData\\JHistory.txt", resultGradientDescent.Item2, "JHistory"); var resultTheta = resultGradientDescent.Item1; //var resultComputeNumericalGradient = NeuralNetwork.ComputeNumericalGradient(backProp, resultTheta); //resultComputeNumericalGradient.Save("D:/test/numericalGradients.txt"); var result5 = NeuralNetwork.BackPropagation(x_data, y_data, resultTheta, new List <int>(25), 10, 0); var JJ = result5.Item1; DelimitedWriter.Write("..\\..\\TestData\\GradientForBackPropagation.txt", result5.Item2, "gradBackPropagation"); var resultThetaLoadedFromFile = (DenseMatrix)DelimitedReader.Read <double>("..\\..\\TestData\\thetaGradient.txt"); var thetasList = NeuralNetwork.UnpackThetas(resultThetaLoadedFromFile, 400, new List <int>() { 25 }, 10); var result = NeuralNetwork.GetPredictions(x_data, y_data, thetasList); Console.WriteLine(result.Item1); DelimitedWriter.Write("..\\..\\TestData\\Predictions.txt", result.Item2, ""); }
private void OnEnable() { if (readflag == 0) { Control.UseNativeMKL(); G = DelimitedReader.Read <float>("Gmatrix" + objname + ".csv", false, ",", false); D = DelimitedReader.Read <float>("Dmatrix" + objname + ".csv", false, ",", false); displacedVertices = this.GetComponentInParent <MeshFilter>().sharedMesh.vertices; Sound = this.GetComponent <Sound>(); soundsamples = new float[44100]; D_data = D.ToRowMajorArray(); readflag = 0; } }
/// <summary> /// Initialize current model. /// </summary> public override void Initialize() { try { var state = DelimitedReader.Read <double>(Path(Config.State)).Row(0); var bias = state[0]; var weights = state.SubVector(1, state.Count - 1); perceptron = new Neuron(Config.Inputs, weights, bias, Config.Function.ToString()); } catch { perceptron = Neuron.Generate(Config.Inputs, Config.Function.ToString()); } }
/// <summary> /// Load and return the digits dataset (classification). /// Each datapoint is a 8x8 image of a digit. /// ================= ============== /// Classes 10 /// Samples per class ~180 /// Samples total 1797 /// Dimensionality 64 /// Features integers 0-16 /// ================= ============== /// </summary> /// <returns>Instance of <see cref="DigitsDataset"/>.</returns> public static DigitsDataset Load() { var reader = new DelimitedReader { Sparse = false, Delimiter = " " }; var assembly = Assembly.GetAssembly(typeof(DigitsDataset)); string descr; using (var sr = new StreamReader(assembly.GetManifestResourceStream("Sharpkit.Learn.Datasets.Data.digits.rst"))) { descr = sr.ReadToEnd(); } using (var datastream = assembly.GetManifestResourceStream("Sharpkit.Learn.Datasets.Data.digits.csv.gz")) { var data = reader.ReadMatrix<double>(new GZipStream(datastream, CompressionMode.Decompress)); return new DigitsDataset { Data = data.SubMatrix(0, data.RowCount, 0, data.ColumnCount - 1), Target = data.Column(data.ColumnCount - 1).ToArray().Cast<int>().ToArray(), Description = descr }; } }
public void CanParseTabDelimtedData() { var data = "1" + Environment.NewLine + "\"2.2\"\t\t0.3e1" + Environment.NewLine + "'4'\t5\t6"; var reader = new DelimitedReader<SparseMatrix>('\t'); var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0]); Assert.AreEqual(0.0f, matrix[0, 1]); Assert.AreEqual(0.0f, matrix[0, 2]); Assert.AreEqual(2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1]); Assert.AreEqual(0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0]); Assert.AreEqual(5.0f, matrix[2, 1]); Assert.AreEqual(6.0f, matrix[2, 2]); }
public void CanParsePeriodDelimitedData() { var data = "a.b.c" + Environment.NewLine + "1" + Environment.NewLine + "\"2,2\".0,3e1" + Environment.NewLine + "'4,0'.5,0.6,0" + Environment.NewLine; var reader = new DelimitedReader { Delimiter = ".", HasHeaderRow = true, FormatProvider = new CultureInfo("tr-TR") }; var matrix = reader.ReadMatrix<double>(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0, matrix[0, 0]); Assert.AreEqual(0.0, matrix[0, 1]); Assert.AreEqual(0.0, matrix[0, 2]); Assert.AreEqual(2.2, matrix[1, 0]); Assert.AreEqual(3.0, matrix[1, 1]); Assert.AreEqual(0.0, matrix[1, 2]); Assert.AreEqual(4.0, matrix[2, 0]); Assert.AreEqual(5.0, matrix[2, 1]); Assert.AreEqual(6.0, matrix[2, 2]); }
public void CanParseComplex32CommaDelimitedData() { var data = "a,b,c" + Environment.NewLine + "(1,2)" + Environment.NewLine + "\"2.2\",0.3e1" + Environment.NewLine + "'(4,-5)',5,6" + Environment.NewLine; var reader = new DelimitedReader { Delimiter = ",", HasHeaderRow = true, FormatProvider = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix<Complex32>(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0].Real); Assert.AreEqual(2.0f, matrix[0, 0].Imaginary); Assert.AreEqual((Complex32)0.0f, matrix[0, 1]); Assert.AreEqual((Complex32)0.0f, matrix[0, 2]); Assert.AreEqual((Complex32)2.2f, matrix[1, 0]); Assert.AreEqual((Complex32)3.0f, matrix[1, 1]); Assert.AreEqual((Complex32)0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0].Real); Assert.AreEqual(-5.0f, matrix[2, 0].Imaginary); Assert.AreEqual((Complex32)5.0f, matrix[2, 1]); Assert.AreEqual((Complex32)6.0f, matrix[2, 2]); }
public void CanParsePeriodDelimitedData() { var data = "a.b.c" + Environment.NewLine + "1" + Environment.NewLine + "\"2,2\".0,3e1+0,2e1i" + Environment.NewLine + "'4,0'.5,0.6,0" + Environment.NewLine; var reader = new DelimitedReader<DenseMatrix>('.') { HasHeaderRow = true, CultureInfo = new CultureInfo("tr-TR") }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual((Complex32)1.0f, matrix[0, 0]); Assert.AreEqual((Complex32)0.0f, matrix[0, 1]); Assert.AreEqual((Complex32)0.0f, matrix[0, 2]); Assert.AreEqual((Complex32)2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1].Real); Assert.AreEqual(2.0f, matrix[1, 1].Imaginary); Assert.AreEqual((Complex32)0.0f, matrix[1, 2]); Assert.AreEqual((Complex32)4.0f, matrix[2, 0]); Assert.AreEqual((Complex32)5.0f, matrix[2, 1]); Assert.AreEqual((Complex32)6.0f, matrix[2, 2]); }
public void CanParseWhiteSpaceDelimitedData() { const string data = @"1 ""2.2"" 0.3e1 '4' 5 6 "; var reader = new DelimitedReader<UserDefinedMatrix>(); var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0]); Assert.AreEqual(0.0f, matrix[0, 1]); Assert.AreEqual(0.0f, matrix[0, 2]); Assert.AreEqual(2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1]); Assert.AreEqual(0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0]); Assert.AreEqual(5.0f, matrix[2, 1]); Assert.AreEqual(6.0f, matrix[2, 2]); }
public void CanParseTabDelimitedData() { var data = "1" + Environment.NewLine + "\"2.2\"\t\t0.3e1" + Environment.NewLine + "'4'\t5\t6"; var reader = new DelimitedReader<SparseMatrix>('\t') { CultureInfo = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual((Complex32)1.0f, matrix[0, 0]); Assert.AreEqual((Complex32)0.0f, matrix[0, 1]); Assert.AreEqual((Complex32)0.0f, matrix[0, 2]); Assert.AreEqual((Complex32)2.2f, matrix[1, 0]); Assert.AreEqual((Complex32)3.0f, matrix[1, 1]); Assert.AreEqual((Complex32)0.0f, matrix[1, 2]); Assert.AreEqual((Complex32)4.0f, matrix[2, 0]); Assert.AreEqual((Complex32)5.0f, matrix[2, 1]); Assert.AreEqual((Complex32)6.0f, matrix[2, 2]); }
public void CanParseWhiteSpaceDelimitedData() { var data = "1" + Environment.NewLine + "\"2.2\" 0.3e1" + Environment.NewLine + "'4' 5 6" + Environment.NewLine; var reader = new DelimitedReader<UserDefinedMatrix> { CultureInfo = CultureInfo.InvariantCulture }; var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.AreEqual(3, matrix.RowCount); Assert.AreEqual(3, matrix.ColumnCount); Assert.AreEqual(1.0f, matrix[0, 0]); Assert.AreEqual(0.0f, matrix[0, 1]); Assert.AreEqual(0.0f, matrix[0, 2]); Assert.AreEqual(2.2f, matrix[1, 0]); Assert.AreEqual(3.0f, matrix[1, 1]); Assert.AreEqual(0.0f, matrix[1, 2]); Assert.AreEqual(4.0f, matrix[2, 0]); Assert.AreEqual(5.0f, matrix[2, 1]); Assert.AreEqual(6.0f, matrix[2, 2]); }