コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }