dmae package¶
Submodules¶
dmae.dissimilarities module¶
The dmae.dissimilarities module implements several dissimilarity functions
in tensorflow.
-
dmae.dissimilarities.chebyshev(X, Y)[source]¶ Computes a pairwise Chevyshev distance between two matrices \(\max{(|\mathbf{x}_i-\mathbf{y}_j|)}\).
- Parameters
- Xarray-like, shape=(batch_size, n_features)
Input batch matrix.
- Yarray-like, shape=(n_clusters, n_features)
Matrix in which each row represents a centroid of a cluster.
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
-
dmae.dissimilarities.cosine(X, Y)[source]¶ Computes a pairwise cosine distance between two matrices \(\mathbf{D}_{ij}=(\mathbf{x}_i \cdot \mathbf{y}_j)/(||\mathbf{x}_i|| \cdot ||\mathbf{y}_j||)\).
- Parameters
- Xarray-like, shape=(batch_size, n_features)
Input batch matrix.
- Yarray-like, shape=(n_clusters, n_features)
Matrix in which each row represents a centroid of a cluster.
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
-
dmae.dissimilarities.euclidean(X, Y)[source]¶ Computes a pairwise Euclidean distance between two matrices \(\mathbf{D}_{ij}=||\mathbf{x}_i-\mathbf{y}_j||\).
- Parameters
- Xarray-like, shape=(batch_size, n_features)
Input batch matrix.
- Yarray-like, shape=(n_clusters, n_features)
Matrix in which each row represents a centroid of a cluster.
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
-
dmae.dissimilarities.kullback_leibler(loggit_P, loggit_Q, eps=0.001, normalization='softmax_abs')[source]¶ Kullback Leibler divergence. \(\sum_x P_x \log{P_x}-P_x \log{Q_x}\)
- Parameters
- loggit_Parray-like, shape=(batch_size, n_features)
Input batch matrix of loggits.
- loggit_Qarray-like, shape=(n_features, n_features)
Matrix in which each row represents the unsigned loggit of a cluster.
- eps: float, default=1e-3
Hyperparameter to avoid numerical issues.
- normalization: {str, function}, default=”softmax_abs”
Specifies which normalization function is used to transform the data into probabilities. You can specify a custom functon f(X, eps) with the arguments X and eps, or use a predefined function {“softmax_abs”, “softmax_relu”, “squared_sum”, “abs_sum”, “relu_sum”, “identity”}
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
-
dmae.dissimilarities.mahalanobis(X, Y, cov)[source]¶ Computes a pairwise Mahalanobis distance \(\mathbf{D}_{ij}=(\mathbf{x}_i-\mathbf{y}_j)^T \Sigma_j (\mathbf{x}_i-\mathbf{y}_j)\).
- Parameters
- Xarray-like, shape=(batch_size, n_features)
Input batch matrix.
- Yarray-like, shape=(n_features, n_features)
Matrix in which each row represents a centroid of a cluster.
- cov: array-like, shape=(n_clusters, n_features, n_features)
3D Tensor with the inverse covariance matrices of all the clusters.
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
-
dmae.dissimilarities.manhattan(X, Y)[source]¶ Computes a pairwise Manhattan distance between two matrices \(\mathbf{D}_{ij}=\sum |\mathbf{x}_i|-|\mathbf{y}_j|\).
- Parameters
- Xarray-like, shape=(batch_size, n_features)
Input batch matrix.
- Yarray-like, shape=(n_clusters, n_features)
Matrix in which each row represents a centroid of a cluster.
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
-
dmae.dissimilarities.minkowsky(X, Y, p)[source]¶ Computes a pairwise Minkowsky distance between two matrices \(\mathbf{D}_{ij}=( \sum |\mathbf{x}_i - \mathbf{y}_j|^p)^{1/p}\).
- Parameters
- Xarray-like, shape=(batch_size, n_features)
Input batch matrix.
- Yarray-like, shape=(n_clusters, n_features)
Matrix in which each row represents a centroid of a cluster.
- pfloat
Order of the Minkowsky distance.
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
-
dmae.dissimilarities.toroidal_euclidean(X, Y, interval=<tf.Tensor: shape=(2,), dtype=float32, numpy=array([2., 2.], dtype=float32)>)[source]¶ Euclidean dissimilarity that considers circular boundaries.
- Parameters
- Xarray-like, shape=(batch_size, n_features)
Input batch matrix.
- Yarray-like, shape=(n_features, n_features)
Matrix in which each row represents a centroid of a cluster.
- intervalarray-like, default=tf.constant((2.0, 2.0))
Array representing the range on each axis.
- Returns
- Zarray-like, shape=(batch_size, n_clusters)
Pairwise dissimilarity matrix.
dmae.initializers module¶
The dmae.initializers module implements some initializers for DMAE.
-
class
dmae.initializers.InitIdentityCov(X, n_clusters)[source]¶ Bases:
tensorflow.python.keras.initializers.initializers_v2.InitializerA tf.keras initializer to assign identity matrices to the covariance parameters.
- Parameters
- X: array-like, shape=(n_samples, n_features)
Input data.
- n_clusters: int
Number of clusters.
Methods
__call__(shape, dtype)Generates identity matrices for the given shape and type.
from_config(config)Instantiates an initializer from a configuration dictionary.
get_config()Returns the configuration of the initializer as a JSON-serializable dict.
-
class
dmae.initializers.InitKMeans(kmeans_model)[source]¶ Bases:
tensorflow.python.keras.initializers.initializers_v2.InitializerA tf.keras initializer to assign the clusters from a sklearn’s KMeans model.
- Parameters
- kmeans_model: :mod:`sklearn.cluster.KMeans`
Pretrained KMeans model to initialize DMAE.
Methods
__call__(shape, dtype)Converts KMeans centroids into tensors.
from_config(config)Instantiates an initializer from a configuration dictionary.
get_config()Returns the configuration of the initializer as a JSON-serializable dict.
-
class
dmae.initializers.InitKMeansCov(kmeans_model, X, n_clusters)[source]¶ Bases:
tensorflow.python.keras.initializers.initializers_v2.InitializerA tf.keras initializer to compute covariance matrices from K-means.
- Parameters
- kmeans_model: :mod:`sklearn.cluster.KMeans`
Pretrained KMeans model to initialize DMAE.
- X: array-like, shape=(n_samples, n_features)
Input data.
- n_clusters: int
Number of clusters.
Methods
__call__(shape, dtype)Computes covariance matrices from the KMeans predictions.
from_config(config)Instantiates an initializer from a configuration dictionary.
get_config()Returns the configuration of the initializer as a JSON-serializable dict.
-
class
dmae.initializers.InitPlusPlus(X, n_clusters, dissimilarity=<function euclidean>, iters=100)[source]¶ Bases:
tensorflow.python.keras.initializers.initializers_v2.InitializerA tf.keras initializer based on K-Means++ that allows dissimilarities.
- Parameters
- X: array-like, shape=(n_samples, n_features)
Input data.
- n_clusters: int
Number of clusters.
- dissimilarity: function, default: :mod:`dmae.dissimilarities.euclidean`
A tensorflow function that computes a paiwise dissimilarity function between a batch of points and the cluster’s parameters.
- iters: int, default: 100
Number of interations to run the K-means++ initialization.
Methods
__call__(shape, dtype)Estimates n_clusters using K-means++
from_config(config)Instantiates an initializer from a configuration dictionary.
get_config()Returns the configuration of the initializer as a JSON-serializable dict.
dmae.layers module¶
The dmae.layers module implements the dissimilarity mixture autoencoder (DMAE) layers as
tensorflow keras layers.
-
class
dmae.layers.DissimilarityMixtureAutoencoder(*args, **kwargs)[source]¶ Bases:
tensorflow.python.keras.engine.base_layer.LayerA
tf.keraslayer with the Dissimilarity Mixture Autoencoder (DMAE).- Parameters
- alphafloat
Softmax inverse temperature.
- n_clustersint
Number of clusters.
- dissimilarityfunction, default =
dmae.dissimilarities.euclidean A tensorflow function that computes a pairwise dissimilarity function between a batch of points and the cluster’s parameters.
- trainabledict, default = {“centers”: True, “mixers”: True}
Specifies which parameters are trainable.
- initializersdict, default = {“centers”:
RandomUniform(-1, 1), “mixers”:Constant(1.0)} Specifies a keras initializer (
tf.keras.initializers) for each parameter.- regularizersdict, default = {“centers”: None, “mixers”: None}
Specifies a keras regularizer (
tf.keras.regularizers) for each parameter.
- Attributes
activity_regularizerOptional regularizer function for the output of this layer.
compute_dtypeThe dtype of the layer’s computations.
dtypeThe dtype of the layer weights.
dtype_policyThe dtype policy associated with this layer.
dynamicWhether the layer is dynamic (eager-only); set in the constructor.
inbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
inputRetrieves the input tensor(s) of a layer.
input_maskRetrieves the input mask tensor(s) of a layer.
input_shapeRetrieves the input shape(s) of a layer.
input_specInputSpec instance(s) describing the input format for this layer.
lossesList of losses added using the add_loss() API.
metricsList of metrics added using the add_metric() API.
nameName of the layer (string), set in the constructor.
name_scopeReturns a tf.name_scope instance for this class.
- non_trainable_variables
non_trainable_weightsList of all non-trainable weights tracked by this layer.
outbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
outputRetrieves the output tensor(s) of a layer.
output_maskRetrieves the output mask tensor(s) of a layer.
output_shapeRetrieves the output shape(s) of a layer.
- stateful
submodulesSequence of all sub-modules.
supports_maskingWhether this layer supports computing a mask using compute_mask.
- trainable
trainable_variablesSequence of trainable variables owned by this module and its submodules.
trainable_weightsList of all trainable weights tracked by this layer.
- updates
variable_dtypeAlias of Layer.dtype, the dtype of the weights.
variablesReturns the list of all layer variables/weights.
weightsReturns the list of all layer variables/weights.
Methods
__call__(*args, **kwargs)Wraps call, applying pre- and post-processing steps.
add_loss(losses, **kwargs)Add loss tensor(s), potentially dependent on layer inputs.
add_metric(value[, name])Adds metric tensor to the layer.
add_update(updates[, inputs])Add update op(s), potentially dependent on layer inputs.
add_variable(*args, **kwargs)Deprecated, do NOT use! Alias for add_weight.
add_weight([name, shape, dtype, …])Adds a new variable to the layer.
apply(inputs, *args, **kwargs)Deprecated, do NOT use!
build(input_shape)Builds the tensorflow variables.
call(x)Forward pass in DMAE.
compute_mask(inputs[, mask])Computes an output mask tensor.
compute_output_shape(input_shape)Computes the output shape of the layer.
compute_output_signature(input_signature)Compute the output tensor signature of the layer based on the inputs.
count_params()Count the total number of scalars composing the weights.
from_config(config)Creates a layer from its config.
get_config()Returns the config of the layer.
get_input_at(node_index)Retrieves the input tensor(s) of a layer at a given node.
get_input_mask_at(node_index)Retrieves the input mask tensor(s) of a layer at a given node.
get_input_shape_at(node_index)Retrieves the input shape(s) of a layer at a given node.
get_losses_for(inputs)Deprecated, do NOT use!
get_output_at(node_index)Retrieves the output tensor(s) of a layer at a given node.
get_output_mask_at(node_index)Retrieves the output mask tensor(s) of a layer at a given node.
get_output_shape_at(node_index)Retrieves the output shape(s) of a layer at a given node.
get_updates_for(inputs)Deprecated, do NOT use!
get_weights()Returns the current weights of the layer.
set_weights(weights)Sets the weights of the layer, from Numpy arrays.
with_name_scope(method)Decorator to automatically enter the module name scope.
-
class
dmae.layers.DissimilarityMixtureAutoencoderCov(*args, **kwargs)[source]¶ Bases:
tensorflow.python.keras.engine.base_layer.LayerA
tf.keraslayer with the Dissimilarity Mixture Autoencoder (DMAE). This layer includes a covariance parameter for dissimilarities that allow it.- Parameters
- alphafloat
Softmax inverse temperature.
- n_clustersint
Number of clusters.
- dissimilarityfunction, default =
dmae.dissimilarities.mahalanobis A tensorflow function that computes a pairwise dissimilarity function between a batch of points and the cluster’s parameters.
- trainabledict, default = {“centers”: True, “cov”: True, mixers”: True}
Specifies which parameters are trainable.
- initializersdict, default = {“centers”:
RandomUniform(-1, 1), “cov”:RandomUniform(-1, 1) - “mixers”: :mod:`Constant(1.0)`}
Specifies a keras initializer (
tf.keras.initializers) for each parameter.- regularizersdict, default = {“centers”: None, “cov”: None, “mixers”: None}
Specifies a keras regularizer (
tf.keras.regularizers) for each parameter.
- Attributes
activity_regularizerOptional regularizer function for the output of this layer.
compute_dtypeThe dtype of the layer’s computations.
dtypeThe dtype of the layer weights.
dtype_policyThe dtype policy associated with this layer.
dynamicWhether the layer is dynamic (eager-only); set in the constructor.
inbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
inputRetrieves the input tensor(s) of a layer.
input_maskRetrieves the input mask tensor(s) of a layer.
input_shapeRetrieves the input shape(s) of a layer.
input_specInputSpec instance(s) describing the input format for this layer.
lossesList of losses added using the add_loss() API.
metricsList of metrics added using the add_metric() API.
nameName of the layer (string), set in the constructor.
name_scopeReturns a tf.name_scope instance for this class.
- non_trainable_variables
non_trainable_weightsList of all non-trainable weights tracked by this layer.
outbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
outputRetrieves the output tensor(s) of a layer.
output_maskRetrieves the output mask tensor(s) of a layer.
output_shapeRetrieves the output shape(s) of a layer.
- stateful
submodulesSequence of all sub-modules.
supports_maskingWhether this layer supports computing a mask using compute_mask.
- trainable
trainable_variablesSequence of trainable variables owned by this module and its submodules.
trainable_weightsList of all trainable weights tracked by this layer.
- updates
variable_dtypeAlias of Layer.dtype, the dtype of the weights.
variablesReturns the list of all layer variables/weights.
weightsReturns the list of all layer variables/weights.
Methods
__call__(*args, **kwargs)Wraps call, applying pre- and post-processing steps.
add_loss(losses, **kwargs)Add loss tensor(s), potentially dependent on layer inputs.
add_metric(value[, name])Adds metric tensor to the layer.
add_update(updates[, inputs])Add update op(s), potentially dependent on layer inputs.
add_variable(*args, **kwargs)Deprecated, do NOT use! Alias for add_weight.
add_weight([name, shape, dtype, …])Adds a new variable to the layer.
apply(inputs, *args, **kwargs)Deprecated, do NOT use!
build(input_shape)Builds the tensorflow variables.
call(x)Forward pass in DMAE.
compute_mask(inputs[, mask])Computes an output mask tensor.
compute_output_shape(input_shape)Computes the output shape of the layer.
compute_output_signature(input_signature)Compute the output tensor signature of the layer based on the inputs.
count_params()Count the total number of scalars composing the weights.
from_config(config)Creates a layer from its config.
get_config()Returns the config of the layer.
get_input_at(node_index)Retrieves the input tensor(s) of a layer at a given node.
get_input_mask_at(node_index)Retrieves the input mask tensor(s) of a layer at a given node.
get_input_shape_at(node_index)Retrieves the input shape(s) of a layer at a given node.
get_losses_for(inputs)Deprecated, do NOT use!
get_output_at(node_index)Retrieves the output tensor(s) of a layer at a given node.
get_output_mask_at(node_index)Retrieves the output mask tensor(s) of a layer at a given node.
get_output_shape_at(node_index)Retrieves the output shape(s) of a layer at a given node.
get_updates_for(inputs)Deprecated, do NOT use!
get_weights()Returns the current weights of the layer.
set_weights(weights)Sets the weights of the layer, from Numpy arrays.
with_name_scope(method)Decorator to automatically enter the module name scope.
-
class
dmae.layers.DissimilarityMixtureEncoder(*args, **kwargs)[source]¶ Bases:
tensorflow.python.keras.engine.base_layer.LayerA tf.keras layer that implements the dissimilarity mixture encoder (DM-Encoder). It computes the soft assignments using a dissimilarity function from
dmae.dissimilarities.- Parameters
- alphafloat
Softmax inverse temperature.
- n_clustersint
Number of clusters.
- dissimilarityfunction, default =
dmae.dissimilarities.euclidean A tensorflow function that computes a pairwise dissimilarity function between a batch of points and the cluster’s parameters.
- trainabledict, default = {“centers”: True, “mixers”: True}
Specifies which parameters are trainable.
- initializersdict, default = {“centers”:
RandomUniform(-1, 1), “mixers”:Constant(1.0)} Specifies a keras initializer (
tf.keras.initializers) for each parameter.- regularizersdict, default = {“centers”: None, “mixers”: None}
Specifies a keras regularizer (
tf.keras.regularizers) for each parameter.
- Attributes
activity_regularizerOptional regularizer function for the output of this layer.
compute_dtypeThe dtype of the layer’s computations.
dtypeThe dtype of the layer weights.
dtype_policyThe dtype policy associated with this layer.
dynamicWhether the layer is dynamic (eager-only); set in the constructor.
inbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
inputRetrieves the input tensor(s) of a layer.
input_maskRetrieves the input mask tensor(s) of a layer.
input_shapeRetrieves the input shape(s) of a layer.
input_specInputSpec instance(s) describing the input format for this layer.
lossesList of losses added using the add_loss() API.
metricsList of metrics added using the add_metric() API.
nameName of the layer (string), set in the constructor.
name_scopeReturns a tf.name_scope instance for this class.
- non_trainable_variables
non_trainable_weightsList of all non-trainable weights tracked by this layer.
outbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
outputRetrieves the output tensor(s) of a layer.
output_maskRetrieves the output mask tensor(s) of a layer.
output_shapeRetrieves the output shape(s) of a layer.
- stateful
submodulesSequence of all sub-modules.
supports_maskingWhether this layer supports computing a mask using compute_mask.
- trainable
trainable_variablesSequence of trainable variables owned by this module and its submodules.
trainable_weightsList of all trainable weights tracked by this layer.
- updates
variable_dtypeAlias of Layer.dtype, the dtype of the weights.
variablesReturns the list of all layer variables/weights.
weightsReturns the list of all layer variables/weights.
Methods
__call__(*args, **kwargs)Wraps call, applying pre- and post-processing steps.
add_loss(losses, **kwargs)Add loss tensor(s), potentially dependent on layer inputs.
add_metric(value[, name])Adds metric tensor to the layer.
add_update(updates[, inputs])Add update op(s), potentially dependent on layer inputs.
add_variable(*args, **kwargs)Deprecated, do NOT use! Alias for add_weight.
add_weight([name, shape, dtype, …])Adds a new variable to the layer.
apply(inputs, *args, **kwargs)Deprecated, do NOT use!
build(input_shape)Builds the tensorflow variables.
call(x)Forward pass in DM-Encoder.
compute_mask(inputs[, mask])Computes an output mask tensor.
compute_output_shape(input_shape)Computes the output shape of the layer.
compute_output_signature(input_signature)Compute the output tensor signature of the layer based on the inputs.
count_params()Count the total number of scalars composing the weights.
from_config(config)Creates a layer from its config.
get_config()Returns the config of the layer.
get_input_at(node_index)Retrieves the input tensor(s) of a layer at a given node.
get_input_mask_at(node_index)Retrieves the input mask tensor(s) of a layer at a given node.
get_input_shape_at(node_index)Retrieves the input shape(s) of a layer at a given node.
get_losses_for(inputs)Deprecated, do NOT use!
get_output_at(node_index)Retrieves the output tensor(s) of a layer at a given node.
get_output_mask_at(node_index)Retrieves the output mask tensor(s) of a layer at a given node.
get_output_shape_at(node_index)Retrieves the output shape(s) of a layer at a given node.
get_updates_for(inputs)Deprecated, do NOT use!
get_weights()Returns the current weights of the layer.
set_weights(weights)Sets the weights of the layer, from Numpy arrays.
with_name_scope(method)Decorator to automatically enter the module name scope.
-
class
dmae.layers.DissimilarityMixtureEncoderCov(*args, **kwargs)[source]¶ Bases:
tensorflow.python.keras.engine.base_layer.LayerA tf.keras layer that implements the dissimilarity mixture encoder (DM-Encoder). It computes the soft assignments using a dissimilarity function from
dmae.dissimilarities. This layer includes a covariance parameter for dissimilarities that allow it.- Parameters
- alphafloat
Softmax inverse temperature.
- n_clustersint
Number of clusters.
- dissimilarityfunction, default =
dmae.dissimilarities.mahalanobis A tensorflow function that computes a pairwise dissimilarity function between a batch of points and the cluster’s parameters.
- trainabledict, default = {“centers”: True, “cov”: True, mixers”: True}
Specifies which parameters are trainable.
- initializersdict, default = {“centers”:
RandomUniform(-1, 1), “cov”:RandomUniform(-1, 1) - “mixers”: :mod:`Constant(1.0)`}
Specifies a keras initializer (
tf.keras.initializers) for each parameter.- regularizersdict, default = {“centers”: None, “cov”: None, “mixers”: None}
Specifies a keras regularizer (
tf.keras.regularizers) for each parameter.
- Attributes
activity_regularizerOptional regularizer function for the output of this layer.
compute_dtypeThe dtype of the layer’s computations.
dtypeThe dtype of the layer weights.
dtype_policyThe dtype policy associated with this layer.
dynamicWhether the layer is dynamic (eager-only); set in the constructor.
inbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
inputRetrieves the input tensor(s) of a layer.
input_maskRetrieves the input mask tensor(s) of a layer.
input_shapeRetrieves the input shape(s) of a layer.
input_specInputSpec instance(s) describing the input format for this layer.
lossesList of losses added using the add_loss() API.
metricsList of metrics added using the add_metric() API.
nameName of the layer (string), set in the constructor.
name_scopeReturns a tf.name_scope instance for this class.
- non_trainable_variables
non_trainable_weightsList of all non-trainable weights tracked by this layer.
outbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras.
outputRetrieves the output tensor(s) of a layer.
output_maskRetrieves the output mask tensor(s) of a layer.
output_shapeRetrieves the output shape(s) of a layer.
- stateful
submodulesSequence of all sub-modules.
supports_maskingWhether this layer supports computing a mask using compute_mask.
- trainable
trainable_variablesSequence of trainable variables owned by this module and its submodules.
trainable_weightsList of all trainable weights tracked by this layer.
- updates
variable_dtypeAlias of Layer.dtype, the dtype of the weights.
variablesReturns the list of all layer variables/weights.
weightsReturns the list of all layer variables/weights.
Methods
__call__(*args, **kwargs)Wraps call, applying pre- and post-processing steps.
add_loss(losses, **kwargs)Add loss tensor(s), potentially dependent on layer inputs.
add_metric(value[, name])Adds metric tensor to the layer.
add_update(updates[, inputs])Add update op(s), potentially dependent on layer inputs.
add_variable(*args, **kwargs)Deprecated, do NOT use! Alias for add_weight.
add_weight([name, shape, dtype, …])Adds a new variable to the layer.
apply(inputs, *args, **kwargs)Deprecated, do NOT use!
build(input_shape)Builds the tensorflow variables.
call(x)Forward pass in DM-Encoder.
compute_mask(inputs[, mask])Computes an output mask tensor.
compute_output_shape(input_shape)Computes the output shape of the layer.
compute_output_signature(input_signature)Compute the output tensor signature of the layer based on the inputs.
count_params()Count the total number of scalars composing the weights.
from_config(config)Creates a layer from its config.
get_config()Returns the config of the layer.
get_input_at(node_index)Retrieves the input tensor(s) of a layer at a given node.
get_input_mask_at(node_index)Retrieves the input mask tensor(s) of a layer at a given node.
get_input_shape_at(node_index)Retrieves the input shape(s) of a layer at a given node.
get_losses_for(inputs)Deprecated, do NOT use!
get_output_at(node_index)Retrieves the output tensor(s) of a layer at a given node.
get_output_mask_at(node_index)Retrieves the output mask tensor(s) of a layer at a given node.
get_output_shape_at(node_index)Retrieves the output shape(s) of a layer at a given node.
get_updates_for(inputs)Deprecated, do NOT use!
get_weights()Returns the current weights of the layer.
set_weights(weights)Sets the weights of the layer, from Numpy arrays.
with_name_scope(method)Decorator to automatically enter the module name scope.
dmae.losses module¶
The dmae.losses module implements several loss functions for each
dissimilarity in dmae.dissimilarities.
-
dmae.losses.chebyshev_loss(X, mu_tilde, pi_tilde, alpha)[source]¶ Computes the Chebyshev loss.
- Parameters
- X: array-like, shape=(batch_size, n_features)
Input batch matrix.
- mu_tilde: array-like, shape=(batch_size, n_features)
Matrix in which each row represents the assigned mean vector.
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- Returns
- loss: float
Computed loss for each sample.
-
dmae.losses.cosine_loss(X, mu_tilde, pi_tilde, alpha)[source]¶ Computes the cosine loss.
- Parameters
- X: array-like, shape=(batch_size, n_features)
Input batch matrix.
- mu_tilde: array-like, shape=(batch_size, n_features)
Matrix in which each row represents the assigned mean vector.
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- Returns
- loss: array-like, shape=(batch_size, )
Computed loss for each sample.
-
dmae.losses.euclidean_loss(X, mu_tilde, pi_tilde, alpha)[source]¶ Computes the Euclidean loss.
- Parameters
- X: array-like, shape=(batch_size, n_features)
Input batch matrix.
- mu_tilde: array-like, shape=(batch_size, n_features)
Matrix in which each row represents the assigned mean vector.
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- Returns
- loss: array-like, shape=(batch_size, )
Computed loss for each sample.
-
dmae.losses.kullback_leibler_loss(loggit_P, loggit_Q_tilde, pi_tilde, alpha, eps=0.001, normalization='softmax_abs')[source]¶ Loss for the Kullback Leibler divergence.
- Parameters
- loggit_P: array-like, shape=(batch_size, n_features)
Input batch loggits (pre-normalization values).
- loggit_Q_tilde: array-like, shape=(batch_size, n_features)
Cluster loggits (pre-normalization values)
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- normalization: {str, function}, default=”softmax_abs”
Specifies which normalization function is used to transform the data into probabilities. You can specify a custom functon f(X, eps) with the arguments X and eps, or use a predefined function {“softmax_abs”, “softmax_relu”, “squared_sum”, “abs_sum”, “relu_sum”, “identity”}
- Returns
- loss: float
Computed loss for each batch.
-
dmae.losses.mahalanobis_loss(X, mu_tilde, Cov_tilde, pi_tilde, alpha)[source]¶ Computes the Mahalanobis loss.
- Parameters
- X: array-like, shape=(batch_size, n_features)
Input batch matrix.
- mu_tilde: array-like, shape=(batch_size, n_features)
Matrix in which each row represents the assigned mean vector.
- Cov_tilde: array-like, shape=(batch_size, n_features, n_features)
Tensor with the assigned covariances.
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- Returns
- loss: array-like, shape=(batch_size, )
Computed loss for each sample.
-
dmae.losses.manhattan_loss(X, mu_tilde, pi_tilde, alpha)[source]¶ Computes the Manhattan loss.
- Parameters
- X: array-like, shape=(batch_size, n_features)
Input batch matrix.
- mu_tilde: array-like, shape=(batch_size, n_features)
Matrix in which each row represents the assigned mean vector.
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- Returns
- loss: array-like, shape=(batch_size, )
Computed loss for each sample.
-
dmae.losses.minkowsky_loss(X, mu_tilde, pi_tilde, alpha, p)[source]¶ Computes the Minkowsky loss.
- Parameters
- X: array-like, shape=(batch_size, n_features)
Input batch matrix.
- mu_tilde: array-like, shape=(batch_size, n_features)
Matrix in which each row represents the assigned mean vector.
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- p: float
Order of the Minkowsky distance
- Returns
- loss: array-like, shape=(batch_size, )
Computed loss for each sample.
-
dmae.losses.toroidal_euclidean_loss(X, mu_tilde, pi_tilde, alpha, interval=<tf.Tensor: shape=(2,), dtype=float32, numpy=array([2., 2.], dtype=float32)>)[source]¶ Loss for the toroidal euclidean dissimilarity.
- Parameters
- X: array-like, shape=(batch_size, n_features)
Input batch matrix.
- mu_tilde: array-like, shape=(batch_size, n_features)
Matrix in which each row represents the assigned mean vector.
- pi_tilde: array-like, shape=(batch_size, )
Vector in which each element represents the assigned mixing coefficient.
- alpha: float
Softmax inverse temperature.
- intervalarray-like, default=tf.constant((2.0, 2.0))
Array representing the range on each axis.
- Returns
- loss: float
Computed loss for each batch.
dmae.metrics module¶
The dmae.metrics module implements some evaluation metrics that are used
in the paper.
-
dmae.metrics.unsupervised_classification_accuracy(y_true, y_pred)[source]¶ Scipy-based implementation of the unsupervised classification accuracy.
- Parameters
- y_true: array-like, shape=(n_samples, )
Array with the Ground truth labels.
- y_pred: array-like, shape=(n_samples, )
Array with the predicted labels.
- Returns
- uacc: float
Unsupervised classification accuracy between y_true and y_pred.