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
40
41
42
43
44
45
46
47
48
//! Online Meta-Learning for rapid adaptation to new time series tasks.
//!
//! This module implements gradient-based meta-learning algorithms that learn an
//! initialisation which can be quickly adapted to new tasks with a few gradient steps.
//!
//! ## Algorithms
//!
//! | Module | Algorithm | Reference |
//! |--------|-----------|-----------|
//! | [`maml`] | FOMAML (first-order MAML) | Finn et al. (2017) |
//! | [`reptile`] | Reptile | Nichol et al. (2018) |
//! | [`online_maml`] | Online MAML (streaming) | — |
//!
//! ## Quick start
//!
//! ```rust,no_run
//! use scirs2_series::online_meta::{MamlOptimizer, MetaLearnerConfig, Task};
//!
//! let config = MetaLearnerConfig {
//! feature_dim: 2,
//! inner_lr: 0.05,
//! outer_lr: 0.01,
//! n_inner_steps: 5,
//! ..Default::default()
//! };
//! let mut optimizer = MamlOptimizer::new(config);
//!
//! let task = Task {
//! support_x: vec![vec![0.0, 1.0], vec![1.0, 0.0]],
//! support_y: vec![1.0, 2.0],
//! query_x: vec![vec![0.5, 0.5]],
//! query_y: vec![1.5],
//! };
//! let loss = optimizer.meta_train_step(&[task]);
//! assert!(loss.is_finite());
//! ```
pub use ;
pub use OnlineMetaLearner;
pub use ReptileOptimizer;
pub use ;