public void TestDatsetRecordwiseSliceFetch() { RedirectGlobalsToTempPath(); string filename = nameof(TestDatsetRecordwiseSliceFetch) + "test.dat"; CreateCsvTempFile(filename); CsvRecordExtractor extractor = new CsvRecordReader(new FileSource(filename)).Extractor("inputs", 0, "targets", 3); ExtractedDataset dataset = new ExtractedDataset("name", 3, extractor); DatasetRecordwiseSlice slice = new DatasetRecordwiseSlice(dataset, 0.1, 0.6); Assert.AreEqual(new float[] { 5.1f, 4.9f }, slice.FetchBlock(0, new CpuFloat32Handler())["inputs"].GetDataAs <float>().GetValuesArrayAs <float>(0, 2)); extractor.Reader?.Dispose(); dataset.Dispose(); DeleteTempFile(filename); }
public void TestDatasetRecordwiseSliceCreate() { RedirectGlobalsToTempPath(); string filename = nameof(TestDatasetRecordwiseSliceCreate) + "test.dat"; CreateCsvTempFile(filename); CsvRecordExtractor extractor = new CsvRecordReader(new FileSource(filename)).Extractor("inputs", 1, 2, "targets", 3); ExtractedDataset dataset = new ExtractedDataset("name", ExtractedDataset.BlockSizeAuto, extractor); Assert.Throws <ArgumentNullException>(() => new DatasetRecordwiseSlice(null, 0.0, 1.0)); Assert.Throws <ArgumentException>(() => new DatasetRecordwiseSlice(dataset, -0.2, 1.0)); Assert.Throws <ArgumentException>(() => new DatasetRecordwiseSlice(dataset, 0.7, -1.0)); Assert.Throws <ArgumentException>(() => new DatasetRecordwiseSlice(dataset, 0.7, 0.6)); DatasetRecordwiseSlice slice = new DatasetRecordwiseSlice(dataset, 0.1, 0.6); Assert.AreSame(dataset, slice.UnderlyingDataset); Assert.AreEqual(0.1, slice.ShareOffset); Assert.AreEqual(0.6, slice.Share); DeleteTempFile(filename); }