Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alecokas/flux-vae

Implementation of a Convolutional Variational Autoencoder in Flux.jl
https://github.com/alecokas/flux-vae

blog cvae fashion-mnist flux julia julialang machine-learning vae variational-autoencoder

Last synced: 2 months ago
JSON representation

Implementation of a Convolutional Variational Autoencoder in Flux.jl

Awesome Lists containing this project

README

        

# flux-vae
This repository accompanies my blog post ["Convolutional VAE in Flux"](http://alecokas.github.io/julia/flux/vae/2020/07/22/convolutional-vae-in-flux.html) where we take a look at variational autoencoders and do a walk-through demo of a [Flux](https://fluxml.ai/) implementation of a convolutional VAE using the FashionMNIST benchmark dataset.




## Training
You can train the model directly from these scripts by running the following in your terminal:
```
julia --project=vaeenv conv-vae/main.jl
```
You should see a progress tracker and the training loss displayed in your terminal.

## Visualisation
Similarly, you can visualise reconstructed images from the test set by running:
```
julia --project=vaeenv conv-vae/visualise.jl
```
Some original test set samples (on the left) with the coresponding reconstructions (on the right):

reconstruction-drawing

## Dependencies
This code has been tested using Julia version 1.4.1. The package environment status is as follows:
```
[fbb218c0] BSON v0.2.6
[336ed68f] CSV v0.7.1
[3895d2a7] CUDAapi v4.0.0
[35d6a980] ColorSchemes v3.9.0
[3a865a2d] CuArrays v2.2.0
[a93c6f00] DataFrames v0.21.4
[31c24e10] Distributions v0.23.2
[ced4e74d] DistributionsAD v0.5.2
[587475ba] Flux v0.10.4
[6a3955dd] ImageFiltering v0.6.13
[82e4d734] ImageIO v0.2.0
[916415d5] Images v0.22.2
[c8e1da08] IterTools v1.3.0
[eb30cadb] MLDatasets v0.5.2
[442fdcdd] Measures v0.3.1
[a3a9e032] NIfTI v0.4.1
[d96e819e] Parameters v0.12.1
[91a5bcdd] Plots v1.3.5
[92933f4c] ProgressMeter v1.3.1
[e88e6eb3] Zygote v0.4.20
[9a3f8284] Random
[10745b16] Statistics
```
You can also have a look in the `vaeenv` directory where I have commited my `Project.toml` and `Manifest.toml` files for you to inspect the dependences.

To cite this work, please site the linked blog post:


@article{kastanos20fluxvae,
title = "Convolutional VAE in Flux",
author = "Alexandros Kastanos",
journal = "alecokas.github.io",
year = "2020",
url = "http://alecokas.github.io/julia/flux/vae/2020/07/22/convolutional-vae-in-flux.html"
}