border_tch_agent/mlp/
config.rs

1use crate::util::OutDim;
2use serde::{Deserialize, Serialize};
3
4#[allow(clippy::clippy::upper_case_acronyms)]
5#[derive(Debug, Deserialize, Serialize, PartialEq, Clone)]
6/// Configuration of [`Mlp`](super::Mlp).
7pub struct MlpConfig {
8    pub in_dim: i64,
9    pub units: Vec<i64>,
10    pub out_dim: i64,
11    pub activation_out: bool,
12}
13
14impl MlpConfig {
15    /// Creates configuration of MLP.
16    ///
17    /// * `activation_out` - If `true`, activation function is added in the final layer.
18    pub fn new(in_dim: i64, units: Vec<i64>, out_dim: i64, activation_out: bool) -> Self {
19        Self {
20            in_dim,
21            units,
22            out_dim,
23            activation_out,
24        }
25    }
26}
27
28impl OutDim for MlpConfig {
29    fn get_out_dim(&self) -> i64 {
30        self.out_dim
31    }
32
33    fn set_out_dim(&mut self, out_dim: i64) {
34        self.out_dim = out_dim;
35    }
36}