1#[derive(Clone)]
3pub struct MomentConfig {
4 pub d_model: usize, pub n_layers: usize, pub n_heads: usize, pub head_dim: usize, pub d_ff: usize, pub seq_len: usize, pub patch_len: usize, pub patch_stride: usize, pub num_patches: usize, pub rel_attn_num_buckets: usize, pub rel_attn_max_distance: usize, pub layer_norm_eps: f64, }
17
18impl MomentConfig {
19 pub fn default() -> Self {
20 let seq_len = 512;
21 let patch_len = 8;
22 let patch_stride = 8;
23 Self {
24 d_model: 1024,
25 n_layers: 24,
26 n_heads: 16,
27 head_dim: 64,
28 d_ff: 2816,
29 seq_len,
30 patch_len,
31 patch_stride,
32 num_patches: seq_len / patch_stride, rel_attn_num_buckets: 32,
34 rel_attn_max_distance: 128,
35 layer_norm_eps: 1e-6,
36 }
37 }
38}