public void CacheTest() { var src = Enumerable.Range(0, 100).Select(c => new MyData()).ToArray(); var data = ML.CreateDataView(src); data.GetColumn <float[]>(ML, "Features").ToArray(); data.GetColumn <float[]>(ML, "Features").ToArray(); Assert.True(src.All(x => x.AccessCount == 2)); src = Enumerable.Range(0, 100).Select(c => new MyData()).ToArray(); data = ML.CreateDataView(src); data = ML.Data.Cache(data); data.GetColumn <float[]>(ML, "Features").ToArray(); data.GetColumn <float[]>(ML, "Features").ToArray(); Assert.True(src.All(x => x.AccessCount == 1)); }
public void CacheCheckpointTest() { var trainData = Enumerable.Range(0, 100).Select(c => new MyData()).ToArray(); var pipe = ML.Transforms.CopyColumns("Features", "F1") .Append(ML.Transforms.Normalize("F1", "Norm1")) .Append(ML.Transforms.Normalize("F1", "Norm2", Transforms.Normalizers.NormalizingEstimator.NormalizerMode.MeanVariance)); pipe.Fit(ML.CreateDataView(trainData)); Assert.True(trainData.All(x => x.AccessCount == 2)); trainData = Enumerable.Range(0, 100).Select(c => new MyData()).ToArray(); pipe = ML.Transforms.CopyColumns("Features", "F1") .AppendCacheCheckpoint(ML) .Append(ML.Transforms.Normalize("F1", "Norm1")) .Append(ML.Transforms.Normalize("F1", "Norm2", Transforms.Normalizers.NormalizingEstimator.NormalizerMode.MeanVariance)); pipe.Fit(ML.CreateDataView(trainData)); Assert.True(trainData.All(x => x.AccessCount == 1)); }