These repositories contain code implementations that allow you to train a model using deep metric learning. It is possible to change and study the impact of hyperparameters and the loss function that is used in training the model. The project was created for master's thesis titled "Deep Metric Learning Techniques".
Abstract: This paper aims to analyze the effect of different loss functions and the number of training epochs on the performance of a neural network model using deep learning metrics in an image classification task. The study was conducted on the MNIST dataset, and the evaluation of the model's accuracy was performed using the k nearest neighbor algorithm. Several different loss functions were used in the study, including neighborhood component analysis loss, margin loss, proxy anchor loss, contrastive loss and triple loss. For each loss function, the model was trained at the number of epochs:
- Python 3.10
- Conda
- Open conda terminal in repository directory
- Type following command:
conda env create -f environment.yml
- Open souce code in IDE
- Select python interpreter: deep_metric_learning
- Enjoy ;)
Special thanks to Kevin Musgrave, who created the Pytorch Metric Learning library, without which this work would never have been written.