Autoencoder
Model
- class ParticleAutoencoder(*args, **kwargs)
Bases:
ModelAutoencoder model for dimensionality reduction.
- input_shape
shape of input, default (100,3)
- Type:
tuple, optional
- latent_dim
size of the latent dimension, default 6
- Type:
int, optional
- x_mean_stdev
mean and standard deviation of inputs, default (0,1)
- Type:
tuple, optional
- kernel_n
number of kernels, default 16
- Type:
int, optional
- kernel_sz
kernel size, default 3
- Type:
int, optional
- activation
activation function, default “elu”
- Type:
string, optional
- activation_latent
activation before bottleneck, default :class:tensorflow.keras.activations.linear`
- Type:
tensorflow.keras.activations, optional
- build_encoder(mean, stdev)
Builds encoder model
- Parameters:
mean (float) – Mean of data.
stdev (float) – Standard deviation of data.
- Returns:
encoder
- Return type:
tensorflow.keras.Model
- build_decoder(mean, stdev)
Builds decoder model
- Parameters:
mean (float) – Mean of data.
stdev (float) – Standard deviation of data.
- Returns:
decoder
- Return type:
tensorflow.keras.Model
- classmethod load(path)
Loads autoencoder.
- Parameters:
path (str) – Model path.
- Returns:
autoencoder
- Return type:
tensorflow.keras.Model
- compile(optimizer, reco_loss)
Compiles the autoencoder - set model’s configuration.
- Parameters:
optimizer (
tensorflow.keras.Optimizer) – optimizer.reco_loss (Callable) – reconstruction loss function
- call(x)
Calls the model.
- Parameters:
x (
numpy.ndarray) – inputs- Returns:
outputs
- Return type:
numpy.ndarray
- train_step(x)
Training step.
- Parameters:
x (
numpy.ndarray) – inputs- Returns:
loss dictionary
- Return type:
dict
- test_step(x)
Inference step.
- Parameters:
x (
numpy.ndarray) – inputs- Returns:
loss dictionary
- Return type:
dict
Layers
- class Conv1DTranspose(*args, **kwargs)
Bases:
LayerCustom 1d transposed convolution that expands to 2d output for vae decoder
- activation
activation
- Type:
tensorflow.keras.activation
- ConvTranspose
sublayer
- Type:
tensorflow.keras.Layer
- ExpandChannel
sublayer
- Type:
tensorflow.keras.Lambda
- filters
number kernels
- Type:
int
- kernel_initializer
kernel init
- Type:
tensorflow.keras.Initializer
- kernel_sz
kernel size
- Type:
int
- SqueezeChannel
sublayer
- Type:
tensorflow.keras.Layer
- __init__(filters, kernel_sz, activation, kernel_initializer, **kwargs)
Construtor.
- Parameters:
filters (int) – number kernels
activation (
tensorflow.keras.activation) – activationkernel_initializer (
tensorflow.keras.Initializer) – kernel initkernel_sz (int) – kernel size
- call(inputs)
Call.
- Parameters:
inputs (
tensorflow.Tensor) – call- Returns:
outputs
- Return type:
tensorflow.Tensor
- get_config()
Get configuration of layer.
- Returns:
dictionary containing configuration used to initialize this layer
- Return type:
dict
- class StdNormalization(*args, **kwargs)
Bases:
LayerNormalizing input feature to std Gauss (mean 0, var 1).
- mean_x
mean of inputs
- Type:
float
- std_x
standard deviation of inputs
- Type:
float
- __init__(mean_x, std_x, name='Std_Normalize', **kwargs)
Constructor.
- Parameters:
mean_x (float) – mean of inputs
std_x (float) – standard deviation of inputs
name (str, optional) – name
- get_config()
Get configuration for layer.
- Returns:
dictionary containing configuration used to initialize this layer
- Return type:
dict
- call(x)
Call.
- Parameters:
inputs (
tensorflow.Tensor) – call- Returns:
outputs
- Return type:
tensorflow.Tensor
- class StdUnnormalization(*args, **kwargs)
Bases:
StdNormalizationRescaling feature to original domain
- __init__(mean_x, std_x, name='Un_Normalize', **kwargs)
Constructor.
- Parameters:
mean_x (float) – mean of inputs
std_x (float) – standard deviation of inputs
name (str, optional) – name
- call(x)
Call.
- Parameters:
inputs (
tensorflow.Tensor) – call- Returns:
outputs
- Return type:
tensorflow.Tensor
Train
- train(data_sample, input_shape=(100, 3), read_n=10000, batch_size=256, latent_dim=6, epochs=10, act_latent=None)
Trains autoencoder
- Parameters:
data_sample (
numpy.ndarray) – inputsinput_shape (tuple, optional) – shape, default (100, 3)
batch_size (int, optional) – batch size, default 256
latent_dim (int, optional) – latent dim, default 6
epochs (int, optional) – number of epochs, default 10
act_latent (
tensorflow.keras.Actication, optional) – latent activation, default None
Predict
- map_to_latent_space(data_sample, model) ndarray
Autoencoder mapping input space to latent representation.
- Parameters:
data_sample (
tensorflow.data.Dataset) – tensorflow.data.Dataset.from_tensor_slices(input_sample (:class:`numpy.ndarray)).batch(batch_size)`model (
tensorflow.keras.Model) – the autoencoder
- Returns:
latent representation
- Return type:
numpy.ndarray