Springer Paper:
Title: VAE-GNA: a variational autoencoder with Gaussian neurons in the latent space and attention mechanisms (Language: English)
Link to the paper: https://link.springer.com/article/10.1007/s10115-024-02169-5
MSc. Dissertation:
Title: Autoencoder Variacional com Neurônios Gaussianos e Mecanismos de Atenção para Detecção de Câncer Usando Dados Espectrais (Language: Portuguese - Brazil)
Link to the Dissertation: https://informatica.ufes.br/en/pos-graduacao/PPGI/thesis-details?id=14992
This repository contains the code developed for my master's dissertation and my VAE-GNA paper. Below are the instructions on how to use it. If you find any bugs or have any observations, please let me know. Don't hesitate to get in touch with me.
The code is developed in a Python environment, specifically using Jupyter Notebook. The deep learning models are implemented using PyTorch and Scikit-Learn.
To install all dependencies, ensure you have Python set up on your Linux/Windows machine, then run the following command:
pip install -r requirements.txt
Project structure for the VAE-GNA repository:
VAE-GNA/
├── Confusion_Matrix/
├── Loss_Plot/
│ └── pkls/
├── data/
├── imgs/
├── model/
│ └── Kfold_results/
├── results/
├── results_per_fold/
├── LICENCE
├── README.md
├── requirements.txt
└── vaegna_jpyt.ipynb
How to use the code in this repository?
- Clone the repository:
git clone https://github.com/MatheusBecali/VAE-GNA/
cd VAE-GNA
- Install the required dependencies:
pip install -r requirements.txt
- Run the Jupyter Notebooks:
jupyter notebook
or open the jupyter notebook extension in Visual Studio Code (Works on Linux and Windows)
- Open and run the desired notebook, such as
notebooks/vaegna_jpyt.ipynb
.
- Variational Autoencoder implementation with Gaussian neurons.
- Incorporates an attention layer to improve model performance.
- Detailed analysis and visualization of results.
If you wish to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
If you have any questions or feedback, feel free to reach out to me at matheusbecali@gmail.com.