def test_temporal_loader(self): loa = TemporalLoader(["month", "day", "day_of_week", "hour"], self.kwargs) result = loa[0] self.assertEqual(len(result), 2) # Test output has proper dimensions # print(loa[0][0].shape) self.assertEqual(result[0][0].shape[0], 5) self.assertEqual(result[0][1].shape[1], 4) self.assertEqual(result[0][0].shape[1], 3) self.assertEqual(result[0][1].shape[0], 5) # Test output right order temporal_src_embd = result[0][1] second = temporal_src_embd[2, :] self.assertEqual(second[0], 5) self.assertEqual(second[1], 1) self.assertEqual(second[3], 3) # Test data loading component d = DataEmbedding(3, 128) embedding = d(result[0][0].unsqueeze(0), temporal_src_embd.unsqueeze(0)) self.assertEqual(embedding.shape[2], 128) i = Informer(3, 3, 3, 5, 5, out_len=4, factor=1) r0 = result[0][0].unsqueeze(0) r1 = result[0][1].unsqueeze(0) r3 = result[1][1].unsqueeze(0) r2 = result[1][0].unsqueeze(0) res = i(r0, r1, r3, r2) self.assertEqual(res.shape[1], 1)
def test_decoding_3(self): informer_model2 = Informer(3, 3, 3, 48, 24, 12, factor=1) src = torch.rand(1, 48, 3) trg = torch.rand(1, 362, 3) src1 = torch.rand(1, 48, 4) trg1 = torch.rand(1, 362, 4) d = decoding_function(informer_model2, src, trg, 12, src1, trg1, 1, 36, 336, "cpu") self.assertEqual(d.shape[0], 1) self.assertEqual(d.shape[1], 336)
def setUp(self): self.informer = Informer(3, 3, 3, 20, 20, 20, factor=1) self.kwargs = { "file_path": "tests/test_data/keag_small.csv", "forecast_history": 5, "forecast_length": 1, "target_col": ["cfs"], "relevant_cols": ["cfs", "temp", "precip"], "sort_column": "date", "feature_params": { "datetime_params": { "month": "numerical", "day": "numerical", "day_of_week": "numerical", "hour": "numerical" } } }
def test_temporal_loader(self): kwargs = { "file_path": "tests/test_data/keag_small.csv", "forecast_history": 5, "forecast_length": 1, "target_col": ["cfs"], "relevant_cols": ["cfs", "temp", "precip"], "sort_column": "date", "feature_params": { "datetime_params": { "month": "numerical", "day": "numerical", "day_of_week": "numerical", "hour": "numerical" } } } loa = TemporalLoader(["month", "day", "day_of_week", "hour"], kwargs) result = loa[0] self.assertEqual(len(result), 2) # Test output has proper dimensions # print(loa[0][0].shape) self.assertEqual(result[0][0].shape[0], 5) self.assertEqual(result[0][1].shape[1], 4) self.assertEqual(result[0][0].shape[1], 3) self.assertEqual(result[0][1].shape[0], 5) # Test output right order temporal_src_embd = result[0][1] second = temporal_src_embd[2, :] self.assertEqual(second[0], 5) self.assertEqual(second[1], 1) self.assertEqual(second[3], 3) # Test data loading component d = DataEmbedding(3, 128) embedding = d(result[0][0].unsqueeze(0), temporal_src_embd.unsqueeze(0)) self.assertEqual(embedding.shape[2], 128) i = Informer(3, 3, 3, 5, 5, out_len=4, factor=1) r0 = result[0][0].unsqueeze(0) r1 = result[0][1].unsqueeze(0) r3 = result[1][1].unsqueeze(0) r2 = result[1][0].unsqueeze(0) res = i(r0, r1, r3, r2) self.assertEqual(res.shape[1], 1)
def setUp(self): self.informer = Informer(3, 3, 3, 20, 20, 20, factor=1)