Fix GeMOSA's bugs

This commit is contained in:
D-X-Y
2021-05-27 01:09:28 -07:00
parent 4ca38ad2ff
commit 1ce0b80776
4 changed files with 32 additions and 17 deletions

View File

@@ -21,7 +21,7 @@ def get_synthetic_env(total_timestamp=1600, num_per_task=1000, mode=None, versio
mean_generator = ConstantFunc(0)
std_generator = ConstantFunc(1)
data_generator = GaussianDGenerator(
[mean_generator], [[std_generator]], (-2, 2)
[mean_generator], [[std_generator]], (-3, 3)
)
time_generator = TimeStamp(
min_timestamp=0, max_timestamp=max_time, num=total_timestamp, mode=mode
@@ -40,7 +40,7 @@ def get_synthetic_env(total_timestamp=1600, num_per_task=1000, mode=None, versio
mean_generator = ConstantFunc(0)
std_generator = ConstantFunc(1)
data_generator = GaussianDGenerator(
[mean_generator], [[std_generator]], (-2, 2)
[mean_generator], [[std_generator]], (-3, 3)
)
time_generator = TimeStamp(
min_timestamp=0, max_timestamp=max_time, num=total_timestamp, mode=mode
@@ -60,7 +60,7 @@ def get_synthetic_env(total_timestamp=1600, num_per_task=1000, mode=None, versio
mean_generator = SinFunc(params={0: 1, 1: 1, 2: 0}) # sin(t)
std_generator = CosFunc(params={0: 0.5, 1: 1, 2: 1}) # 0.5 cos(t) + 1
data_generator = GaussianDGenerator(
[mean_generator], [[std_generator]], (-2, 2)
[mean_generator], [[std_generator]], (-3, 3)
)
time_generator = TimeStamp(
min_timestamp=0, max_timestamp=max_time, num=total_timestamp, mode=mode
@@ -77,6 +77,9 @@ def get_synthetic_env(total_timestamp=1600, num_per_task=1000, mode=None, versio
)
dynamic_env.set_regression()
elif version.lower() == "v4":
dynamic_env = SyntheticDEnv(
data_generator, oracle_map, time_generator, num_per_task, noise=0.05
)
dynamic_env.set_classification(2)
else:
raise ValueError("Unknown version: {:}".format(version))

View File

@@ -46,15 +46,19 @@ 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"]))
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"]))
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):