5 dépôts
Interface definitions using factory patterns to decouple algorithm implementation from usage.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Algorithm Interfaces. Refine with filters or upvote what's useful.
This repository is a comprehensive collection of data structures and algorithms implemented in JavaScript, designed primarily as an educational resource for computer science study and technical interview preparation. It provides modular implementations of fundamental programming concepts, allowing developers to explore algorithmic logic and data organization through self-contained, verifiable code examples. The library distinguishes itself by pairing every implementation with formal Big O notation, providing predictable insights into time and space scaling requirements. Each algorithm is stru
Uses consistent input and output patterns across all algorithmic implementations to facilitate seamless comparison.
OpenCV is a comprehensive computer vision library designed for real-time performance and cross-platform deployment. It provides a native execution environment that leverages multi-threaded operations and automated memory management to handle intensive computational tasks, including image processing and machine learning model inference. The library distinguishes itself through a data-oriented matrix framework that utilizes proxy-based array abstractions to provide a consistent interface for multidimensional data. By employing factory-pattern algorithm interfaces and runtime type dispatching, i
Decouples algorithm implementations from user code through factory patterns to ensure long-term API stability and cross-platform compatibility.
Recommenders is a recommendation system framework designed for building, benchmarking, and deploying collaborative and content-based filtering models. It provides a machine learning model pipeline that standardizes the process of moving recommendation data from raw ingestion through training and evaluation. The project functions as a model benchmarking toolkit, utilizing standardized ranking and error metrics to compare the accuracy of different algorithms. It also serves as a hyperparameter tuning tool, allowing for the optimization of model behavior and performance via external configuratio
Implements interface definitions that decouple recommendation algorithm implementation from usage.
Linfa est un framework de machine learning classique et une suite d'apprentissage statistique implémentée en Rust. Il fournit une collection d'algorithmes pour l'apprentissage supervisé et non supervisé, axés sur les méthodes statistiques traditionnelles telles que la régression, le clustering et les arbres de décision. La boîte à outils se distingue par sa capacité à être compilée en WebAssembly, permettant aux modèles analytiques de s'exécuter dans des environnements de navigateur. Elle emploie une interface d'algorithme basée sur des traits pour standardiser le processus d'entraînement et de prédiction à travers ses divers modèles. La bibliothèque couvre un large éventail de capacités, notamment la classification supervisée et la régression de valeurs continues. Elle fournit le clustering non supervisé, des méthodes d'ensemble pour l'agrégation de modèles et le traitement du signal via l'analyse en composantes indépendantes. La suite inclut également des outils de prétraitement de données étendus pour la normalisation des caractéristiques, la vectorisation de texte et la réduction de dimensionnalité utilisant PCA et t-SNE. Des utilitaires supplémentaires sont fournis pour la gestion des données, y compris l'importation CSV et la génération de jeux de données synthétiques, ainsi que des outils d'évaluation de modèles tels que les matrices de confusion et les métriques de validation croisée.
Standardizes model training and prediction through a common trait-based interface for diverse learning algorithms.
Ce projet est une plateforme d'apprentissage automatique distribué et un framework d'apprentissage profond creux (sparse) conçu pour entraîner et servir des modèles avec des données creuses de haute dimension. Il fonctionne comme une infrastructure de service de modèles en ligne et un moteur de système de recommandation, permettant la récupération et le scoring d'éléments en temps réel en utilisant le deep tree matching et les réseaux de neurones. Le système se distingue par un framework d'apprentissage multi-tâches qui optimise plusieurs fonctions objectives au sein d'un espace de représentation partagé. Il dispose d'une infrastructure de service en ligne spécialisée qui prend en charge le chargement à chaud dynamique des modèles et la transformation des checkpoints standard en un format optimisé personnalisé pour une inférence haute performance. La plateforme couvre un large éventail de capacités, incluant la gestion distribuée des paramètres pour mettre à l'échelle l'entraînement sur plusieurs travailleurs, le calcul d'embeddings creux pour les caractéristiques catégorielles, et la récupération neuronale basée sur des arbres pour les catalogues à grande échelle. Elle fournit également des outils pour la gestion de l'entraînement en flux continu, le contrôle du cycle de vie des caractéristiques via des seuils de probabilité, et le profilage de performance pour identifier les goulots d'étranglement d'exécution. Le projet inclut une interface d'entraînement unifiée et une intégration de framework backend pour standardiser l'exécution des tâches d'entraînement, de prédiction et d'évaluation.
Provides a high-level interface for executing training, prediction, and evaluation tasks to ensure codebase consistency.