public void RffWorkout() { Random rand = new Random(); var data = new[] { new TestClass() { A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray() }, new TestClass() { A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray() } }; var invalidData = ML.Data.ReadFromEnumerable(new[] { new TestClassInvalidSchema { A = 1 }, new TestClassInvalidSchema { A = 1 } }); var validFitInvalidData = ML.Data.ReadFromEnumerable(new[] { new TestClassBiggerSize { A = new float[200] }, new TestClassBiggerSize { A = new float[200] } }); var dataView = ML.Data.ReadFromEnumerable(data); var generator = new GaussianFourierSampler.Arguments(); var pipe = new RandomFourierFeaturizingEstimator(Env, new[] { new RandomFourierFeaturizingTransformer.ColumnInfo("RffA", 5, false, "A"), new RandomFourierFeaturizingTransformer.ColumnInfo("RffB", 10, true, "A", new LaplacianFourierSampler.Arguments()) }); TestEstimatorCore(pipe, dataView, invalidInput: invalidData, validForFitNotValidForTransformInput: validFitInvalidData); Done(); }
public void TestOldSavingAndLoading() { Random rand = new Random(); var data = new[] { new TestClass() { A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray() }, new TestClass() { A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray() } }; var dataView = ML.Data.ReadFromEnumerable(data); var est = new RandomFourierFeaturizingEstimator(Env, new[] { new RandomFourierFeaturizingTransformer.ColumnInfo("RffA", 5, false, "A"), new RandomFourierFeaturizingTransformer.ColumnInfo("RffB", 10, true, "A", new LaplacianFourierSampler.Arguments()) }); var result = est.Fit(dataView).Transform(dataView); var resultRoles = new RoleMappedData(result); using (var ms = new MemoryStream()) { TrainUtils.SaveModel(Env, Env.Start("saving"), ms, null, resultRoles); ms.Position = 0; var loadedView = ModelFileUtils.LoadTransforms(Env, dataView, ms); } }