Re-organize GeMOSA
This commit is contained in:
@@ -40,6 +40,9 @@ class MathFunc(abc.ABC):
|
||||
def reset_xstr(self, xstr):
|
||||
self._xstr = str(xstr)
|
||||
|
||||
def output_shape(self, input_shape):
|
||||
return input_shape
|
||||
|
||||
@abc.abstractmethod
|
||||
def __call__(self, x):
|
||||
raise NotImplementedError
|
||||
|
@@ -47,6 +47,9 @@ class GaussianDGenerator(DynamicGenerator):
|
||||
def ndim(self):
|
||||
return self._ndim
|
||||
|
||||
def output_shape(self):
|
||||
return (self._ndim,)
|
||||
|
||||
def __call__(self, time, num):
|
||||
mean_list = [functor(time) for functor in self._mean_functors]
|
||||
cov_matrix = [
|
||||
|
@@ -33,7 +33,7 @@ def get_synthetic_env(total_timestamp=1600, num_per_task=1000, mode=None, versio
|
||||
}
|
||||
)
|
||||
dynamic_env = SyntheticDEnv(
|
||||
data_generator, oracle_map, time_generator, num_per_task
|
||||
data_generator, oracle_map, time_generator, num_per_task, noise=0.1
|
||||
)
|
||||
dynamic_env.set_regression()
|
||||
elif version.lower() == "v2":
|
||||
@@ -53,7 +53,7 @@ def get_synthetic_env(total_timestamp=1600, num_per_task=1000, mode=None, versio
|
||||
}
|
||||
)
|
||||
dynamic_env = SyntheticDEnv(
|
||||
data_generator, oracle_map, time_generator, num_per_task
|
||||
data_generator, oracle_map, time_generator, num_per_task, noise=0.1
|
||||
)
|
||||
dynamic_env.set_regression()
|
||||
elif version.lower() == "v3":
|
||||
@@ -73,7 +73,7 @@ def get_synthetic_env(total_timestamp=1600, num_per_task=1000, mode=None, versio
|
||||
}
|
||||
)
|
||||
dynamic_env = SyntheticDEnv(
|
||||
data_generator, oracle_map, time_generator, num_per_task
|
||||
data_generator, oracle_map, time_generator, num_per_task, noise=0.05
|
||||
)
|
||||
dynamic_env.set_regression()
|
||||
elif version.lower() == "v4":
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import numpy as np
|
||||
import torch
|
||||
import torch.utils.data as data
|
||||
|
||||
@@ -44,10 +45,16 @@ class SyntheticDEnv(data.Dataset):
|
||||
|
||||
def set_regression(self):
|
||||
self._meta_info["task"] = "regression"
|
||||
self._meta_info["input_dim"] = self._data_generator.ndim
|
||||
self._meta_info["output_shape"] = self._oracle_map.output_shape(self._data_generator.output_shape())
|
||||
self._meta_info['output_dim'] = int(np.prod(self._meta_info["output_shape"]))
|
||||
|
||||
def set_classification(self, num_classes):
|
||||
self._meta_info["task"] = "classification"
|
||||
self._meta_info["input_dim"] = self._data_generator.ndim
|
||||
self._meta_info["num_classes"] = int(num_classes)
|
||||
self._meta_info["output_shape"] = self._oracle_map.output_shape(self._data_generator.output_shape())
|
||||
self._meta_info['output_dim'] = int(np.prod(self._meta_info["output_shape"]))
|
||||
|
||||
@property
|
||||
def oracle_map(self):
|
||||
|
Reference in New Issue
Block a user