Library with different software algorithms for self-training