Skip to content

Error when using different values for latent_dim parameter in tadgan model #592

@LuSchnitt

Description

@LuSchnitt
  • Orion version: 0.6.1
  • Python version: 3.11.10
  • Operating System: Ubuntu 24.04.1 LTS

Description

When using 40 for the latent_dim parameter in the tadgan model, the following error occurs:

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/orion/core.py:286, in Orion.evaluate(self, data, ground_truth, fit, train_data, metrics)
    282     mlpipeline = self._mlpipeline
    284 if train_data is not None:
    285     # Fit first and then predict
--> 286     mlpipeline.fit(train_data)
    287     method = mlpipeline.predict
    288 else:
    289     # Fit and predict at once

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/mlblocks/mlpipeline.py:802, in MLPipeline.fit(self, X, y, output_, start_, debug, **kwargs)
    799         LOGGER.debug('Skipping block %s fit', block_name)
    800         continue
--> 802 self._fit_block(block, block_name, context, debug_info)
    804 if fit_pending or output_blocks:
    805     self._produce_block(
    806         block, block_name, context, output_variables, outputs, debug_info)

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/mlblocks/mlpipeline.py:644, in MLPipeline._fit_block(self, block, block_name, context, debug_info)
    642 memory_before = process.memory_info().rss
    643 start = datetime.utcnow()
--> 644 block.fit(**fit_args)
    645 elapsed = datetime.utcnow() - start
    646 memory_after = process.memory_info().rss

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/mlblocks/mlblock.py:311, in MLBlock.fit(self, **kwargs)
    309 fit_kwargs.update(kwargs)
    310 fit_kwargs = self._get_method_kwargs(fit_kwargs, self.fit_args)
--> 311 getattr(self.instance, self.fit_method)(**fit_kwargs)

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/orion/primitives/tadgan.py:358, in TadGAN.fit(self, X, y, **kwargs)
    356     kwargs = self._augment_hyperparameters(X, y, **kwargs)
    357     self._set_shapes()
--> 358     self._build_tadgan(**kwargs)
    360 self._fit((X, y))
    361 self.fitted = True

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/orion/primitives/tadgan.py:233, in TadGAN._build_tadgan(self, **kwargs)
    230 hyperparameters.update(kwargs)
    232 # Models
--> 233 self.encoder = self._build_model(
    234     hyperparameters, self.layers_encoder, self.encoder_input_shape, name='encoder')
    235 self.generator = self._build_model(
    236     hyperparameters, self.layers_generator, self.generator_input_shape, name='generator')
    237 self.critic_x = self._build_model(
    238     hyperparameters, self.layers_critic_x, self.critic_x_input_shape, name='critic_x')

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/orion/primitives/tadgan.py:98, in TadGAN._build_model(hyperparameters, layers, input_shape, name)
     95     built_layer = build_layer(layer, hyperparameters)
     96     model.add(built_layer)
---> 98 return Model(x, model(x))

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/keras/src/utils/traceback_utils.py:70, in filter_traceback.<locals>.error_handler(*args, **kwargs)
     67     filtered_tb = _process_traceback_frames(e.__traceback__)
     68     # To get the full stack trace, call:
     69     # `tf.debugging.disable_traceback_filtering()`
---> 70     raise e.with_traceback(filtered_tb) from None
     71 finally:
     72     del filtered_tb

File ~/anaconda3/envs/orion_env/lib/python3.11/site-packages/keras/src/layers/reshaping/reshape.py:118, in Reshape._fix_unknown_dimension(self, input_shape, output_shape)
    116     output_shape[unknown] = original // known
    117 elif original != known:
--> 118     raise ValueError(msg)
    119 return output_shape

ValueError: Exception encountered when calling layer 'reshape_6' (type Reshape).

total size of new array must be unchanged, input_shape = [20], output_shape = [40, 1]

Call arguments received by layer 'reshape_6' (type Reshape):
  • inputs=tf.Tensor(shape=(None, 20), dtype=float64)

Hyperparameter used:

 {'mlstars.custom.timeseries_preprocessing.time_segments_aggregate#1': {'interval': 3600},
   'mlstars.custom.timeseries_preprocessing.rolling_window_sequences#1': {'window_size': 168,
    'target_column': 0,
    'step_size': 1},
   'orion.primitives.tadgan.TadGAN#1': {'epochs': 5,
    'batch_size': 16,
    'latent_dim': 40,
    'verbose': False,
    'input_shape': [168, 16],
    'target_shape': [168, 1]},
   'orion.primitives.tadgan.score_anomalies#1': {'score_window': 24,
    'rec_error_type': 'dtw'},
   'orion.primitives.timeseries_anomalies.find_anomalies#1': {'window_step_size': 24,
    'fixed_threshold': False,
    'window_size': 168}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions