pub struct Linear {
pub weights: Tensor,
pub biases: Tensor,
pub activation: Activations,
/* private fields */
}Expand description
A 2D linearly densely-connected layer
Fields§
§weights: Tensor§biases: Tensor§activation: ActivationsImplementations§
Source§impl Linear
impl Linear
Sourcepub fn new(
input_dim: usize,
output_dim: usize,
activation: Activations,
) -> Linear
pub fn new( input_dim: usize, output_dim: usize, activation: Activations, ) -> Linear
Create a new linear layer
Examples found in repository?
examples/nn_full.rs (line 11)
4fn main() {
5 Logger::new().init().unwrap();
6 let x = Tensor::linspace(-5.0, 5.0, 50);
7 let func = &x * -5.0;
8 let y = &func + &(Tensor::rand([50, 1]) * 0.4);
9
10 let mut model = Model::new();
11 model.add_layer(Linear::new(1, 10, Activations::None));
12 model.add_layer(Linear::new(10, 10, Activations::None));
13 model.add_layer(Linear::new(10, 1, Activations::None));
14
15 model.compile(Optimizers::SGD);
16 model.fit(&x, &y, 500, 0.00001, true);
17
18 let x_pred = scalar!(1.0);
19 let y_pred = model.predict(&x_pred);
20 println!("Predict result (should be -5): {:?}", y_pred);
21}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Linear
impl !RefUnwindSafe for Linear
impl !Send for Linear
impl !Sync for Linear
impl Unpin for Linear
impl !UnwindSafe for Linear
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more