sevensense_learning/
lib.rs1#![warn(missing_docs)]
35#![warn(clippy::all)]
36#![warn(clippy::pedantic)]
37#![allow(clippy::module_name_repetitions)]
38
39pub mod domain;
40pub mod application;
41pub mod infrastructure;
42pub mod loss;
43pub mod ewc;
44
45pub use domain::entities::{
47 LearningSession, GnnModelType, TrainingStatus, TrainingMetrics,
48 TransitionGraph, RefinedEmbedding, EmbeddingId, Timestamp,
49 GraphNode, GraphEdge, HyperParameters, LearningConfig,
50};
51pub use domain::repository::LearningRepository;
52pub use application::services::LearningService;
53pub use infrastructure::gnn_model::{GnnModel, GnnLayer, Aggregator};
54pub use infrastructure::attention::{AttentionLayer, MultiHeadAttention};
55pub use loss::{info_nce_loss, triplet_loss, margin_ranking_loss, contrastive_loss};
56pub use ewc::{EwcState, FisherInformation, EwcRegularizer};
57
58pub const VERSION: &str = env!("CARGO_PKG_VERSION");
60
61pub mod prelude {
63 pub use crate::domain::entities::*;
64 pub use crate::domain::repository::*;
65 pub use crate::application::services::*;
66 pub use crate::infrastructure::gnn_model::*;
67 pub use crate::infrastructure::attention::*;
68 pub use crate::loss::*;
69 pub use crate::ewc::*;
70}
71
72#[cfg(test)]
73mod tests {
74 use super::*;
75
76 #[test]
77 fn test_crate_exports() {
78 let _: GnnModelType = GnnModelType::Gcn;
80 let _: TrainingStatus = TrainingStatus::Pending;
81 }
82}