Setup:
-
Download dataset from https://github.com/brendenlake/omniglot
-
Go to /python and extract the folder image_background.zip
-
Set the root_dir in siamese.ipynb to the directory of the extracted folder for the dataloader to fetch the images.
-
Remember to remove all .DS_store with the command
find . -name '.DS_Store' -type f -delete
if you are using Mac.
Network Architecture:
- The network architecture currently follows the architecture given by http://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf, with some additions and tuning of the hyperparameters and network structure for experimentation.
An explanation of the code can be found here:
https://medium.com/@taying.cheng/building-a-one-shot-learning-network-with-pytorch-d1c3a5fafa4a
Reference:
https://github.com/fangpin/siamese-pytorch
https://sorenbouma.github.io/blog/oneshot/
https://towardsdatascience.com/one-shot-learning-with-siamese-networks-using-keras-17f34e75bb3d