Evaluate your face verification models literally in seconds.
Project description
evalify
Evaluate your face verification models literally in seconds.
Installation
Stable release
pip install evalify
Bleeding edge
- From source
pip install git+https://github.com/ma7555/evalify.git
- From TestPyPI
pip install --index-url https://test.pypi.org/simple/ evalify
Usage
import numpy as np
from evalify import Experiment
rng = np.random.default_rng()
nphotos = 500
emb_size = 32
nclasses = 10
X = rng.random((self.nphotos, self.emb_size))
y = rng.integers(self.nclasses, size=self.nphotos)
experiment = Experiment()
experiment.run(X, y)
experiment.get_roc_auc()
print(experiment.df.roc_auc)
Documentation:
Features
- Blazing fast implementation for metrics calculation through optimized einstein sum and vectorized calculations.
- Many operations are dispatched to canonical BLAS, cuBLAS, or other specialized routines.
- Smart sampling options using direct indexing from pre-calculated arrays with an option to have total control over sampling strategy and sampling numbers.
- Supports most evaluation metrics:
- cosine_similarity
- cosine_distance
- euclidean_distance
- euclidean_distance_l2
- minkowski_distance
- manhattan_distance
- chebyshev_distance
- Computation time for 4 metrics 4.2 million samples experiment is 24 seconds vs 51 minutes if looping using
scipy.spatial.distance
implemntations.
TODO
- Safer memory allocation. I did not have issues but if you ran out of memory please manually increase number of splits with
nsplits
argument.
Contribution
- Contributions are welcomed, and they are greatly appreciated! Every little bit helps, and credit will always be given.
- Please check CONTRIBUTING.md for guidelines.
Citation
- If you use this software, please cite it using the metadata from CITATION.cff
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
evalify-0.1.1.tar.gz
(13.0 kB
view hashes)