Skip to content

Implementation of dense VAE from paper. #10

@maffettone

Description

@maffettone

@prinaldi3 to take the first crack at this.
@maffettone To review and edit.
@lbanko to review final PR.

Potential approach

  1. Branch from Black hooks #9
  2. Encoder: build_dense_encoder_model(), following lead from

    xca/xca/ml/tf_models.py

    Lines 18 to 30 in dfdad35

    def build_CNN_model(*,
    data_shape,
    filters,
    kernel_sizes,
    strides,
    ReLU_alpha,
    pool_sizes,
    batchnorm,
    n_classes,
    dense_dims=(),
    dense_dropout=0.,
    **kwargs
    ):

    Returns: Model(input_x, [z_mean, z_log_var], name="encoder")
  3. Decoder: build_dense_decoder_model()
    Returns: Model(z_in, x_dec, name="decoder")
  4. VAE class: VAE(tf.keras.Model)
    with methods:
  • __init__(encoder_model, decoder_model, kl_loss_weight)
  • encode(x) -> mean, log_var,
  • reparameterize(mean, log_var) -> z_sample,
  • decode(z) -> x_reconstruction,
  • kl_loss(z_mean, z_log_var),
  • reconstruction_loss(x, x_reconstruction)

Citation

Deep learning for visualization and novelty detection in large X-ray diffraction datasets
Paper in press at npj Computational Materials.
https://arxiv.org/abs/2104.04392

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions