Skip to contents

z = mu + sigma\*eps (reparameterisation trick), trained by gradient descent on the negative ELBO = recon MSE + beta\*KL(q||N(0,I)).

Usage

morie_geron_vae(X, latent_dim = 2, epochs = 200, lr = 0.05, beta = 1, seed = 0)

Arguments

X

Training data (n, d).

latent_dim, epochs, lr, beta, seed

As in Python original.

Value

list with mu, log_var, z, reconstruction, recon_error, kl, elbo, loss_curve, params, beta, estimate, n, method.

Examples

V <- c(1, 2, 3, 4, 5, 6, 7, 8)
morie_geron_vae(V)
#> $mu
#>      [,1] [,2]
#> [1,]  NaN  NaN
#> [2,]  NaN  NaN
#> [3,]  NaN  NaN
#> [4,]  NaN  NaN
#> [5,]  NaN  NaN
#> [6,]  NaN  NaN
#> [7,]  NaN  NaN
#> [8,]  NaN  NaN
#> 
#> $log_var
#>      [,1] [,2]
#> [1,]  NaN  NaN
#> [2,]  NaN  NaN
#> [3,]  NaN  NaN
#> [4,]  NaN  NaN
#> [5,]  NaN  NaN
#> [6,]  NaN  NaN
#> [7,]  NaN  NaN
#> [8,]  NaN  NaN
#> 
#> $z
#>      [,1] [,2]
#> [1,]  NaN  NaN
#> [2,]  NaN  NaN
#> [3,]  NaN  NaN
#> [4,]  NaN  NaN
#> [5,]  NaN  NaN
#> [6,]  NaN  NaN
#> [7,]  NaN  NaN
#> [8,]  NaN  NaN
#> 
#> $reconstruction
#>      [,1]
#> [1,]  NaN
#> [2,]  NaN
#> [3,]  NaN
#> [4,]  NaN
#> [5,]  NaN
#> [6,]  NaN
#> [7,]  NaN
#> [8,]  NaN
#> 
#> $recon_error
#> [1] NaN
#> 
#> $kl
#> [1] NaN
#> 
#> $elbo
#> [1] NaN
#> 
#> $loss_curve
#>   [1]  2.551384e+01  2.132746e+01  1.788213e+01  1.859424e+01  2.307465e+02
#>   [6]  8.643528e+05  4.090425e+16  4.734008e+48 7.338562e+144           Inf
#>  [11]           NaN           NaN           NaN           NaN           NaN
#>  [16]           NaN           NaN           NaN           NaN           NaN
#>  [21]           NaN           NaN           NaN           NaN           NaN
#>  [26]           NaN           NaN           NaN           NaN           NaN
#>  [31]           NaN           NaN           NaN           NaN           NaN
#>  [36]           NaN           NaN           NaN           NaN           NaN
#>  [41]           NaN           NaN           NaN           NaN           NaN
#>  [46]           NaN           NaN           NaN           NaN           NaN
#>  [51]           NaN           NaN           NaN           NaN           NaN
#>  [56]           NaN           NaN           NaN           NaN           NaN
#>  [61]           NaN           NaN           NaN           NaN           NaN
#>  [66]           NaN           NaN           NaN           NaN           NaN
#>  [71]           NaN           NaN           NaN           NaN           NaN
#>  [76]           NaN           NaN           NaN           NaN           NaN
#>  [81]           NaN           NaN           NaN           NaN           NaN
#>  [86]           NaN           NaN           NaN           NaN           NaN
#>  [91]           NaN           NaN           NaN           NaN           NaN
#>  [96]           NaN           NaN           NaN           NaN           NaN
#> [101]           NaN           NaN           NaN           NaN           NaN
#> [106]           NaN           NaN           NaN           NaN           NaN
#> [111]           NaN           NaN           NaN           NaN           NaN
#> [116]           NaN           NaN           NaN           NaN           NaN
#> [121]           NaN           NaN           NaN           NaN           NaN
#> [126]           NaN           NaN           NaN           NaN           NaN
#> [131]           NaN           NaN           NaN           NaN           NaN
#> [136]           NaN           NaN           NaN           NaN           NaN
#> [141]           NaN           NaN           NaN           NaN           NaN
#> [146]           NaN           NaN           NaN           NaN           NaN
#> [151]           NaN           NaN           NaN           NaN           NaN
#> [156]           NaN           NaN           NaN           NaN           NaN
#> [161]           NaN           NaN           NaN           NaN           NaN
#> [166]           NaN           NaN           NaN           NaN           NaN
#> [171]           NaN           NaN           NaN           NaN           NaN
#> [176]           NaN           NaN           NaN           NaN           NaN
#> [181]           NaN           NaN           NaN           NaN           NaN
#> [186]           NaN           NaN           NaN           NaN           NaN
#> [191]           NaN           NaN           NaN           NaN           NaN
#> [196]           NaN           NaN           NaN           NaN           NaN
#> 
#> $params
#> $params[[1]]
#>      [,1] [,2]
#> [1,]  NaN  NaN
#> 
#> $params[[2]]
#> [1] NaN NaN
#> 
#> $params[[3]]
#>      [,1] [,2]
#> [1,]  NaN  NaN
#> 
#> $params[[4]]
#> [1] NaN NaN
#> 
#> $params[[5]]
#>      [,1]
#> [1,]  NaN
#> [2,]  NaN
#> 
#> $params[[6]]
#> [1] NaN
#> 
#> 
#> $beta
#> [1] 1
#> 
#> $estimate
#> [1] NaN
#> 
#> $n
#> [1] 8
#> 
#> $method
#> [1] "Gaussian VAE trained on the negative ELBO with the reparameterisation trick"
#>