← All repositories
63,858 stars19,701 forksPythonapache-2.00 views
keras.io

Keras

Features

  • Deep Learning Model DevelopmentBuilding and training complex neural networks using high-level abstractions that simplify the design of architectures and training loops.
  • Neural Model DefinitionsCreate and manage neural network architectures using high-level abstractions that support serialization, training loops, and advanced techniques like knowledge distillation.
  • Neural Network Modeling ToolkitsA comprehensive suite of tools for defining, training, evaluating, and deploying complex architectures using standardized procedures and lifecycle management.
  • Deep Learning FrameworksA high-level interface for constructing and training neural networks through the composition of modular, functional layers.
  • Functional State Management SystemsProcesses layers and models using stateless methods that explicitly pass state variables to ensure consistent numerical execution.
  • Backend Abstraction LayersDecouples high-level model definitions from low-level execution logic to enable portability across multiple underlying tensor processing frameworks.
  • Backend-Agnostic AbstractionsDecouples high-level model definitions from low-level execution logic to enable seamless portability across multiple machine learning engines.
  • Functional Model APIsConnect input nodes to output nodes using a flexible interface to create deep learning models structured as directed acyclic graphs of layers.
  • Functional Model Composition ToolsA design paradigm where neural architectures are constructed as directed acyclic graphs by chaining reusable components into flexible data pipelines.
  • Multi-Backend OrchestratorsRun deep learning tasks through a single interface that manages model training, evaluation, and serialization across multiple underlying computational engines without changing the core logic.
  • Neural Network ArchitecturesStructures neural networks as modular chains of layers that track data flow and parameter dependencies for automatic differentiation.
  • Weight OptimizersMinimize loss functions by applying gradient-based algorithms to adjust internal model parameters during the training process for improved predictive performance.
  • Backend Configuration InterfacesSwitch between different hardware and software processing backends by modifying environment variables or configuration files to determine the underlying computational engine used for model execution.
  • Backend-Agnostic Machine LearningAuthoring model code once and deploying it across different computing frameworks and hardware accelerators without needing to rewrite logic.
  • Multi-Backend AbstractionsA platform-agnostic abstraction layer that executes model computations across diverse hardware accelerators and underlying tensor processing frameworks.
  • Training Parameter ConfigurationsSpecify optimizers, loss functions, and performance metrics using built-in identifiers or custom implementations to define the behavior of the training process.
  • Training and Evaluation PipelinesExecute training and evaluation workflows using standardized methods that automatically handle batching, epoch iteration, and the management of validation datasets.
  • Training and Evaluation RoutinesRun training, evaluation, and inference tasks using built-in loops or custom routines that maintain compatibility with standard model interfaces and data structures.
  • Custom Model SubclassingCreate complete neural networks via subclassing to access built-in training, evaluation, prediction, and serialization capabilities within a unified model class.
  • Functional Model APIsBuild complex neural network architectures by connecting layers as a directed acyclic graph to support multi-input, multi-output, and shared-layer designs.
  • Neural Network LayersStack and configure diverse functional layers including convolutional, recurrent, and attention components to build sophisticated architectures for specific data processing requirements.
  • Distributed Training OrchestratorsDistribute large-scale model training across multiple devices by separating model definitions from sharding logic to manage data and model parallelism through structured device meshes.
  • Backend SelectorsOptimize training and inference speed by dynamically selecting a machine learning backend to leverage available hardware like GPUs, TPUs, or CPUs.
  • Network TopologiesConstruct complex architectures with multiple inputs, multiple outputs, and non-linear paths by chaining layers and merging feature vectors into unified representations.
  • Custom Layer DefinitionsCreating specialized layers and complex model topologies by chaining modular components to solve unique data processing and learning tasks.
  • Functional Execution InterfacesRun layers, models, and metrics using a stateless interface that accepts and returns state variables explicitly to support functional programming paradigms.
  • Just-In-Time CompilersTranslates high-level model operations into optimized machine code at runtime to maximize performance across diverse hardware accelerators.
  • Training Data PipelinesPrepare diverse data types including images, text, and audio by loading and formatting them into structures suitable for efficient model training workflows.
  • Recursive Layer CompositionsNest layer instances within other layers to build complex architectures while automatically tracking all internal weights and parameters for consistent updates.
  • Distributed TrainingConfiguring data and model parallelism to train massive neural networks efficiently across multiple devices and computing clusters.
  • GPU AccelerationInstall specialized dependencies to enable graphics processing unit support, significantly increasing the speed of model training and data inference tasks on compatible hardware components.
  • Model Evaluation MetricsAssess predictive accuracy using a comprehensive suite of metrics designed for classification, regression, segmentation, and probabilistic tasks to ensure reliable results.
  • Deferred Weight InitializationsDelay weight initialization until input shapes are determined by implementing a build method that executes automatically during the first forward pass.
  • Stateless Functional ComponentsProcess layers, models, and metrics using functional methods that accept and return state variables to ensure compatibility with functional programming patterns and advanced transformation tools.
  • Custom Loss FunctionsHandle unique training objectives or non-standard data signatures by creating callable functions or subclassing the base loss class for custom error calculation.
  • Portable Model FormatsSave models as framework-agnostic files to reload and execute them seamlessly across different machine learning backends without requiring code modifications.
  • Custom LayersImplement specialized computations and weight initialization logic by extending the base layer interface to create unique neural network components.
  • Large Language ModelsInitialize pre-trained language models and tokenizers using standardized presets to perform text generation tasks with efficient memory management and parameter configuration.
  • Data Streaming UtilitiesProcess large datasets efficiently by passing data objects directly to training methods to handle batching, shuffling, and preprocessing automatically.
  • Generative Language ModelsLoad and execute pre-trained generative language models to perform text generation tasks using optimized and ready-to-use model architectures.
  • Training CallbacksExecute custom logic at specific points during training, such as saving checkpoints or stopping early, by passing callback objects to the training loop.
  • Inference Optimization ToolsPerform model predictions using a dedicated execution path that applies hardware-specific tuning to achieve faster response times and higher throughput on supported computing devices.
  • Hyperparameter OptimizersAutomate the search for ideal model configurations by defining search spaces and applying efficient algorithms to improve predictive accuracy during the training process.
  • Recommender SystemsConstruct personalized recommendation engines using modular components that integrate seamlessly with multiple high-performance numerical computing backends for flexible model development.
  • Diffusion ModelsInitialize pre-trained image generation models and converters using standardized presets to perform visual synthesis tasks with efficient memory management and parameter configuration.
  • Large Language ModelsInitialize pre-trained language models and tokenizers using standardized presets to perform text generation tasks with efficient memory management and parameter configuration.
  • Learning Rate SchedulersAdjust the learning rate during training using static decay schedules or dynamic callbacks that respond to real-time validation metrics for better convergence.