AutoEncoderToolkit.jl

AutoEncoderToolkit.jl: A Julia package for training (Variational) Autoencoders - Published in JOSS (2024)

https://github.com/mrazomej/autoencodertoolkit.jl

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    6 of 9 committers (66.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

mesh
Last synced: 6 months ago · JSON representation

Repository

Julia package with several functions to train and analyze Autoencoder-based neural networks

Basic Info
Statistics
  • Stars: 23
  • Watchers: 2
  • Forks: 0
  • Open Issues: 7
  • Releases: 6
Created almost 3 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

AutoEncoderToolkit.jl

Build Status codecov status

Welcome to the AutoEncoderToolkit.jl GitHub repository. This package provides a simple interface for training and using Flux.jl-based autoencoders and variational autoencoders in Julia.

Installation

You can install AutoEncoderToolkit.jl using the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

julia add AutoEncoderToolkit

Design

The idea behind AutoEncoderToolkit.jl is to take advantage of Julia's multiple dispatch to provide a simple and flexible interface for training and using different types of autoencoders. The package is designed to be modular and allow the user to easily define and test custom encoder and decoder architectures. Moreover, when it comes to variational autoencoders, AutoEncoderToolkit.jl takes a probabilistic perspective, where the type of encoders and decoders defines (via multiple dispatch) the corresponding distribution used within the corresponding loss function.

For more information, please refer to the documentation.

Implemented Autoencoders

| model | module | description | | -------------------------- | ------------- | -------------------------------------------------------------- | | Autoencoder | AEs | Vanilla deterministic autoencoder | | Variational Autoencoder | VAEs | Vanilla variational autoencoder | | β-VAE | VAEs | beta-VAE to weigh the reconstruction vs. KL divergence in ELBO | | MMD-VAEs | MMDs | Maximum-Mean Discrepancy Variational Autoencoders | | InfoMax-VAEs | InfoMaxVAEs | Information Maximization Variational Autoencoders | | Hamiltonian VAE | HVAEs | Hamiltonian Variational Autoencoders | | Riemannian Hamiltonian-VAE | RHVAEs | Riemannian-Hamiltonian Variational Autoencoder |

Notes

Some tests are failing only when running on GitHub Actions. Locally, all tests pass. The error in Github Actions shows up when testing the computation of loss function gradients as:

Got exception outside of a @test

BoundsError: attempt to access 16-element Vector{UInt8} at index [0]

PRs to fix this issue are welcome.

Community Guidelines

Contributing to the Software

For those interested in contributing to AutoEncoderToolkit.jl, please refer to the GitHub repository. The project welcomes contributions to

  • Expand the list of available models.
  • Improve the performance of existing models.
  • Add new features to the toolkit.
  • Improve the documentation.

Reporting Issues or Problems

If you encounter any issues or problems with the software, you can report them directly on the GitHub repository's issues page.

Seeking Support

For support and further inquiries, consider checking the documentation and existing issues on the GitHub repository. If you still do not find the answer, you can open a new issue on the GitHub repository's issues page.

License / Authors

Released under the MIT License.

Author & Maintainer: Manuel Razo-Mejia

Owner

  • Name: Manuel Razo-Mejia
  • Login: mrazomej
  • Kind: user
  • Location: Menlo Park, CA
  • Company: Stanford

Postdoctoral Scholar | Petrov Lab | Stanford.

JOSS Publication

AutoEncoderToolkit.jl: A Julia package for training (Variational) Autoencoders
Published
July 30, 2024
Volume 9, Issue 99, Page 6794
Authors
Manuel Razo-Mejia ORCID
Department of Biology, Stanford University, CA, United States of America
Editor
Fabian Scheipl ORCID
Tags
Unsupervised Learning Deep Learning Autoencoders Dimensionality Reduction

GitHub Events

Total
  • Issues event: 1
  • Watch event: 9
  • Delete event: 3
  • Issue comment event: 7
  • Push event: 1
  • Pull request event: 14
  • Create event: 11
Last Year
  • Issues event: 1
  • Watch event: 9
  • Delete event: 3
  • Issue comment event: 7
  • Push event: 1
  • Pull request event: 14
  • Create event: 11

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 524
  • Total Committers: 9
  • Avg Commits per committer: 58.222
  • Development Distribution Score (DDS): 0.053
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
mrazomej m****m@g****m 496
dependabot[bot] 4****] 6
Manuel Razo-Mejia m****o@s****t 5
Manuel Razo-Mejia m****o@s****u 4
Manuel Razo-Mejia m****o@s****u 4
Manuel Razo-Mejia m****o@s****u 4
Manuel Razo-Mejia m****o@s****u 2
Manuel Razo-Mejia m****o@s****u 2
Manuel Razo-Mejia m****o@s****u 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 9
  • Total pull requests: 22
  • Average time to close issues: 9 days
  • Average time to close pull requests: 9 days
  • Total issue authors: 7
  • Total pull request authors: 2
  • Average comments per issue: 3.22
  • Average comments per pull request: 0.41
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 22
Past Year
  • Issues: 1
  • Pull requests: 15
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 16 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 6.0
  • Average comments per pull request: 0.27
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 15
Top Authors
Issue Authors
  • mrazomej (2)
  • sandeshkatakam (1)
  • dillondaudert (1)
  • jarvist (1)
  • avik-pal (1)
  • albertpod (1)
  • JuliaTagBot (1)
Pull Request Authors
  • dependabot[bot] (24)
  • github-actions[bot] (10)
Top Labels
Issue Labels
Pull Request Labels
dependencies (24)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 6 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
juliahub.com: AutoEncoderToolkit

Julia package with several functions to train and analyze Autoencoder-based neural networks

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 6 Total
Rankings
Dependent repos count: 9.5%
Average: 24.0%
Dependent packages count: 38.4%
Last synced: 6 months ago

Dependencies

.github/workflows/Documenter.yml actions
  • actions/checkout v4 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/CI.yml actions
  • actions/checkout v4.1.3 composite
  • codecov/codecov-action v4.0.1 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite