1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Модуль, содержащий строительные блоки для нейронных сетей.
//!
//! Этот модуль является аналогом `torch.nn` в PyTorch. Он предоставляет
//! набор готовых слоев, контейнеров и утилит для легкого построения
//! сложных нейросетевых архитектур.
//!
//! # Основные компоненты
//!
//! - [`Module`](module::Module): Основной трейт, который должны реализовывать все слои.
//! - [`Linear`](linear::Linear): Полносвязный слой.
//! - [`ReLU`](activations::ReLU), [`Sigmoid`](activations::Sigmoid): Слои активации.
//! - [`Embedding`](embedding::Embedding): Слой для представления дискретных данных.
//! - [`LayerNorm`](norm::LayerNorm): Слой нормализации.
//! - [`MultiHeadAttention`](attention::MultiHeadAttention): Ключевой компонент Трансформеров.
//! - [`TransformerBlock`](transformer::TransformerBlock): Готовый блок кодировщика Трансформера.
//! - [`Sequential`](containers::Sequential): Контейнер для последовательного объединения слоев.
// Объявляем файлы как публичные субмодули внутри `nn`.
// Ре-экспортируем самые важные структуры для удобства.
pub use Module;
pub use Linear;
pub use ;
pub use Sequential;
pub use Embedding;
pub use LayerNorm;
pub use MultiHeadAttention;
pub use FeedForward;
pub use TransformerBlock;