optirs_core/streaming/adaptive_streaming/
mod.rs1pub mod anomaly_detection;
6pub mod buffering;
7pub mod config;
8pub mod drift_detection;
9pub mod meta_learning;
10pub mod optimizer;
11pub mod performance;
12pub mod resource_management;
13
14pub use buffering::*;
16pub use config::*;
17pub use meta_learning::*;
18pub use optimizer::*;
19pub use resource_management::*;
20
21pub use anomaly_detection::{
24 AdaptiveThresholdManager, AnomalyContext, AnomalyDetectionResult, AnomalyDetector,
25 AnomalyEvent, AnomalyResponseSystem, AnomalySeverity as AnomalyDetectionSeverity,
26 AnomalyType as AnomalyDetectionType, ContextPattern,
27 DataStatistics as AnomalyDetectionDataStatistics, DetectionResult, DetectorPerformance,
28 EffectivenessMetrics, EnsembleAnomalyDetector, EnsembleConfig, EnsembleVotingStrategy,
29 EscalationCondition, EscalationRule, FPMitigationStrategy, FPRateCalculator,
30 FalsePositiveEvent, FalsePositivePatterns, FalsePositiveTracker as AnomalyDetectionFPTracker,
31 MLModelMetrics, OutcomeMeasurement, PendingResponse, ResponseAction,
32 ResponseEffectivenessTracker, ResponseExecution, ResponseExecutor, ResponseOutcome,
33 ResponsePriority, ResponseResourceLimits, TemporalPattern, TemporalPatternType,
34 ThresholdAdaptationParams, ThresholdAdaptationStrategy, ThresholdPerformanceFeedback,
35 TrendAnalysis, TrendDirection,
36};
37
38pub use drift_detection::{
40 DistributionComparison, DriftDiagnostics, DriftEvent, DriftSeverity, DriftState,
41 DriftTestResult, EnhancedDriftDetector, FalsePositiveTracker as DriftDetectionFPTracker,
42 ModelDriftResult,
43};
44
45pub use performance::{
47 AnomalySeverity as PerformanceAnomalySeverity, AnomalyType as PerformanceAnomalyType,
48 DataStatistics as PerformanceDataStatistics, ImprovementEvent, MetricStatistics,
49 PerformanceAnomaly, PerformanceAnomalyDetector, PerformanceContext, PerformanceDiagnostics,
50 PerformanceImprovementTracker, PerformanceMetric, PerformancePredictor, PerformanceSnapshot,
51 PerformanceTracker, PerformanceTrendAnalyzer, PlateauDetector, PredictionMethod,
52 PredictionResult, TrendData, TrendMethod,
53};
54
55pub fn create_default_optimizer<A, D>(
57) -> StreamingResult<AdaptiveStreamingOptimizer<crate::optimizers::Adam<A>, A, D>>
58where
59 A: scirs2_core::ndarray::ScalarOperand
60 + Clone
61 + Default
62 + Send
63 + Sync
64 + 'static
65 + scirs2_core::numeric::Float
66 + std::iter::Sum
67 + std::fmt::Debug
68 + std::ops::DivAssign,
69 D: scirs2_core::ndarray::Data<Elem = A>
70 + scirs2_core::ndarray::Dimension
71 + Send
72 + Sync
73 + 'static,
74{
75 let config = StreamingConfig::default();
76 let base_optimizer = crate::optimizers::Adam::new(A::from(0.001).unwrap()); Ok(AdaptiveStreamingOptimizer::new(base_optimizer, config)?)
78}
79
80pub fn create_optimizer_with_config<A, D>(
81 config: StreamingConfig,
82) -> StreamingResult<AdaptiveStreamingOptimizer<crate::optimizers::Adam<A>, A, D>>
83where
84 A: scirs2_core::ndarray::ScalarOperand
85 + Clone
86 + Default
87 + Send
88 + Sync
89 + 'static
90 + scirs2_core::numeric::Float
91 + std::iter::Sum
92 + std::fmt::Debug
93 + std::ops::DivAssign,
94 D: scirs2_core::ndarray::Data<Elem = A>
95 + scirs2_core::ndarray::Dimension
96 + Send
97 + Sync
98 + 'static,
99{
100 let base_optimizer = crate::optimizers::Adam::new(A::from(0.001).unwrap()); Ok(AdaptiveStreamingOptimizer::new(base_optimizer, config)?)
102}
103
104pub type StreamingResult<T> = Result<T, Box<dyn std::error::Error + Send + Sync>>;