Skip to content

boodland/One-Shot-Learning

Repository files navigation

One Shot Learning

One Shot Learning using Omniglot data set and Siamese Network

This repository contains an implementation version of the paper koch et al, Siamese Networks for one-shot learning.

The model has been created using keras.

The codebase has been divided in the following components:

  • OmniglotService: Download the Omniglot data from the repository.
  • OmniglotLoader: Load the Omniglot data based on categories.
  • OmniglotDataset: Expose an api to process Omniglot data set.
  • SiameseNet: Create a SiameseNetwork with the default configuration.
  • OneShotRunner: Run One-shot learning experiments using Omniglot data set and siamese network.
  • RunnerVisualizer: To display runner results.
  • Utils: I/O funtionality to read/save state/data.

Details about the machine learning problem, the implementation and experiments are explained in the one shot notebook.

Disclaimer

This is an early version of a work in progress prototype.

Roadmap

  • Allow Data preprocessing (normalization, resizing, augmentation, ...)
  • Allow more configuration parameters for the runner
  • Allow more distance discriminator functions to compare two encoded images
  • Implement a NetworkConfigurator component for hyperparameter tunning
  • Implement another model using a different approach
  • ...

About

One Shot Learning using Siamese Network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published