This project explores the use of hybrid datasets to improve Pokémon type recognition through deep learning models. It is part of the "Enhancing AI with Hybrid Datasets" course at Osnabrück University (SuSe 2024). The goal is to evaluate different convolutional neural network architectures using both real and synthetic data. by Felix Japtok, Eva Kuth, Imogen Hüsing, Henning Stegemann
Make sure you have the following installed:
- Python 3.x
All other dependencies can be installed as described in the next section
- Clone this repository
git clone https://github.com/HenningSte/Enhancing-Pokemon-Type-Recognition-with-Hybrid-Datasets
- Navigate to the installed repository
cd Enhancing-Pokemon-Type-Recognition-with-Hybrid-Datasets
- Install the necessary Python packages
pip install -r requirements.txt
- Edit train.py to choose which of the implemented models to use (listed in line 3). You can modify the model in line 26
from models import own_custom_conv_net, neuralmon_conv_net, smaller_VGGNet, custom_CNN_model
model = own_custom_conv_net # Example choice
- Adjust the number of epochs (line 28)
epochs = 50
- Run the training script from your console
python train.py
- /images: Contains all images used in the dataset and screenshots from the stable diffusion structure.
- pokemon_image_dataset.csv, synthetic_pokemon.csv, synthetic_pokemon_v2.csv: CSV files containing labels for the datasets.
- /plots: Includes all plots used in the report and additional plots related to model trainability.
- model_analysis.ipynb: Jupyter notebook for analyzing the models used.
- model_and_dataset_analysis.ipynb: Detailed analysis of both the model performance and datasets used.
- train.py: The main script to train the selected model on the dataset.