tsgm.models.cgan

Module Contents

class GAN(discriminator: tensorflow.keras.Model, generator: tensorflow.keras.Model, latent_dim: int)[source]

Bases: tensorflow.keras.Model

GAN implementation for unlabeled time series.

Parameters:
  • discriminator (keras.Model) – A discriminator model which takes a time series as input and check whether the image is real or fake.

  • generator (keras.Model) – Takes as input a random noise vector of latent_dim length and returns a simulated time-series.

  • latent_dim (int) – The size of the noise vector.

property metrics: List[source]
Returns:

A list of metrics trackers (e.g., generator’s loss and discriminator’s loss).

compile(d_optimizer: tensorflow.keras.optimizers.Optimizer, g_optimizer: tensorflow.keras.optimizers.Optimizer, loss_fn: tensorflow.keras.losses.Loss) None[source]

Compiles the generator and discriminator models.

Parameters:
  • d_optimizer (keras.Model) – An optimizer for the GAN’s discriminator.

  • g_optimizer – An optimizer for the GAN’s generator.

  • loss_fn (keras.losses.Loss) – Loss function.

train_step(data: tsgm.types.Tensor) Dict[str, float][source]

Performs a training step using a batch of data, stored in data.

Parameters:

data (tsgm.types.Tensor) – A batch of data in a format batch_size x seq_len x feat_dim

Returns:

A dictionary with generator (key “g_loss”) and discriminator (key “d_loss”) losses

Return type:

T.Dict[str, float]

generate(num: int) tsgm.types.Tensor[source]

Generates new data from the model.

Parameters:

num (int) – the number of samples to be generated.

Returns:

Generated samples

Return type:

tsgm.types.Tensor

clone() GAN[source]

Clones GAN object

Returns:

The exact copy of the object

Return type:

“GAN”

class ConditionalGAN(discriminator: tensorflow.keras.Model, generator: tensorflow.keras.Model, latent_dim: int, temporal=False)[source]

Bases: tensorflow.keras.Model

Conditional GAN implementation for labeled and temporally labeled time series.

Parameters:
  • discriminator (keras.Model) – A discriminator model which takes a time series as input and check whether the image is real or fake.

  • generator (keras.Model) – Takes as input a random noise vector of latent_dim length and return a simulated time-series.

  • latent_dim (int) – The size of the noise vector.

  • temporal (bool) – Indicates whether the time series temporally labeled or not.

property metrics: List[source]
Returns:

A list of metrics trackers (e.g., generator’s loss and discriminator’s loss).

Return type:

T.List

compile(d_optimizer: tensorflow.keras.optimizers.Optimizer, g_optimizer: tensorflow.keras.optimizers.Optimizer, loss_fn: Callable) None[source]

Compiles the generator and discriminator models.

Parameters:
  • d_optimizer (keras.Model) – An optimizer for the GAN’s discriminator.

  • g_optimizer – An optimizer for the GAN’s generator.

  • loss_fn (keras.losses.Loss) – Loss function.

train_step(data: Tuple) Dict[str, float][source]

Performs a training step using a batch of data, stored in data.

Parameters:

data (tsgm.types.Tensor) – A batch of data in a format batch_size x seq_len x feat_dim

Returns:

A dictionary with generator (key “g_loss”) and discriminator (key “d_loss”) losses

Return type:

T.Dict[str, float]

generate(labels: tsgm.types.Tensor) tsgm.types.Tensor[source]

Generates new data from the model.

Parameters:

labels (tsgm.types.Tensor) – the number of samples to be generated.

Returns:

generated samples

Return type:

tsgm.types.Tensor