Neural networks =============== This module includes neural networks (``torch.nn.Module``, or neural network - based - embedders) that learns to distinguish between images. Table of Contents ----------------- .. toctree:: :maxdepth: 1 contrastive_siamese/contrastive_siamese bce_siamese/bce_siamese triplet/triplet clip/clip backbones/backbones Serialization ------------- Every class in this module can be serialized via method ``to_dict`` and deserialized via ``from_dict``, or ``save_to_disk`` and ``load_from_disk`` to save/load to/from a file. ``pyvisim`` only uses ``safetensors`` format for (de)serialization. For more technical information, visit https://github.com/MechaCritter/Python-Visual-Similarity/blob/main/docs/arc42.md. References ---------- 1. **Siamese Neural Networks for One-shot Image Recognition** (Koch, Zemel, & Salakhutdinov, 2015) https://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf 2. **Dimensionality Reduction by Learning an Invariant Mapping** (Hadsell, Chopra, & LeCun, 2006) http://yann.lecun.com/exdb/publis/pdf/hadsell-chopra-lecun-06.pdf 3. **Deep Metric Learning Using Triplet Network** (Hoffer & Ailon, 2014) https://arxiv.org/abs/1412.6622 4. **FaceNet: A Unified Embedding for Face Recognition and Clustering** (Schroff, Kalenichenko, & Philbin, 2015) https://doi.org/10.1109/CVPR.2015.7298682 5. **Deep Residual Learning for Image Recognition** https://arxiv.org/abs/1512.03385 6. **Learning Transferable Visual Models From Natural Language Supervision** (Radford et al., 2021) https://arxiv.org/abs/2103.00020