rusty-gradients 0.2.0

A full-stack deep learning framework in Rust for training and deploying Transformer models. Features multi-backend support (CPU/CUDA/Metal/WASM), 62x GPU acceleration, Safetensors serialization, and BPE tokenization.
Documentation
//! Модуль, определяющий основной трейт `Module` для всех слоев нейронной сети.

use crate::tensor::Tensor;
use crate::error::Result;

/// Трейт, определяющий общий интерфейс для всех слоев/модулей.
///
/// Любой компонент, который может быть частью нейронной сети (от простого
/// слоя активации до целой модели), должен реализовывать этот трейт.
/// Это позволяет объединять их в контейнеры, такие как `Sequential`, и
/// легко собирать параметры для оптимизатора.
pub trait Module {
    /// Выполняет прямой проход через модуль.
    ///
    /// Принимает входной тензор и возвращает выходной.
    ///
    /// Может вернуть ошибку `RustyGradientsError`, если что-то пошло не так
    /// (например, из-за несовместимости форм тензоров).
    fn forward(&self, inputs: &Tensor) -> Result<Tensor>;

    /// Возвращает список всех обучаемых параметров модуля в виде вектора тензоров.
    ///
    /// Если у модуля есть вложенные модули (как у `Sequential` или `TransformerBlock`),
    /// он должен рекурсивно собрать и вернуть их параметры. Если у модуля нет
    /// обучаемых параметров (как у `ReLU`), он должен вернуть пустой вектор.
    fn parameters(&self) -> Vec<Tensor>;
}