Triplet Loss Utility for Pytorch Library.
TripletTorch
TripletTorch is a small pytorch utility for triplet loss projects. It provides simple way to create custom triplet datasets and common triplet mining loss techniques.
Install
Install the module using the pip utility ( may require to run as sudo ).
pip3 install triplettorch
Usage
Triplet Dataset
from triplettorch import TripletDataset
# Create a triplet dataset given:
# * labels : array of label ( class ) for each sample of the dataset
# * data_fn : method to access data for a given index in the dataset
# * size : number of samples in the dataset
# * n_sample: number of sample per draw ( to increase probability to
# contain valid triplets in a batch )
# Do not forget to concatenate batch dimension and sample dimension
# when used with a DataLoader as TripletDataset[ idx ] returns a
# ( batch_size, n_sample, ... ) dimension tensor for labels and data
dataset = TripletDataset( labels, data_fn, size, n_sample )
Triplet Mining
from triplettorch import AllTripletMiner, HardNegativeTripletMiner
# Define the triplet mining loss given:
# * margin: the margin float value from the triplet loss definition
miner = AllTripletMiner( .5 ).cuda( )
miner = HardNegativeTripletMiner( .5 ).cuda( )
# Use the loss in training given:
# * labels : array of label ( class ) for each sample of the batch
# * embeddings: output of the neural network for each sample of the batch
# Returns two values:
# * loss : triplet loss value
# * frac_pos: fraction of positive triplets
# None ( None HardNegativeTripletMiner )
loss, frac_pos = miner( labels, embeddings )
Example
The repository provides an example application with the MNIST dataset.
References
Metadata
Release files for TripletTorch 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| TripletTorch-0.1.3.tar.gz | 5.5 kB | Without provenance | Details for TripletTorch-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| TripletTorch-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for TripletTorch-0.1.3-py3-none-any.whl |
Total release size: 11.6 kB
Release files / TripletTorch-0.1.3.tar.gz
| Download URL | TripletTorch-0.1.3.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4330ff2348f25ab185175d5b2b1bf27fe86b4ee0868e6ae416f0965b32ac248d
|
|
BLAKE2b-256 checksum How to use checksums |
e0a169d4667e0d5d2b5939447bbf4944d3e586add97ee67042f357b55d01edff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9
|
Release files / TripletTorch-0.1.3-py3-none-any.whl
| Download URL | TripletTorch-0.1.3-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d919ac977dfaa58a63fd108adacaa7e34b3e895be2a855fbc2447a8fb983f0a7
|
|
BLAKE2b-256 checksum How to use checksums |
94bfff93cde75e4a6d07c52a7ffb49d8cb8d65926ff65ec149a63135be5a1fdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9
|
Security for TripletTorch 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.