Expand description
Linear layer
This layer applies a linear transformation to the incoming data, y = x@w.t() + b
.
The bias is optional. The forward
method can be used to apply the layer, it supports input
with a batch dimension (so of shape (b_sz, in_c)
) or without (of shape (in_c,)
), the
output has shape (b_sz, out_c)
and (out_c,)
respectively.
use diffusion_rs_common::core::{Tensor, Device::Cpu};
use diffusion_rs_common::nn::{Linear, Module};
let w = Tensor::new(&[[1f32, 2.], [3., 4.], [5., 6.]], &Cpu)?;
let layer = Linear::new(w, None); // Use no bias.
let xs = Tensor::new(&[[10f32, 100.]], &Cpu)?;
let ys = layer.forward(&xs)?;
assert_eq!(ys.to_vec2::<f32>()?, &[[210.0, 430.0, 650.0]]);
Structs§
Functions§
- Create or initialize a new linear layer.
- Create or initialize a new linear layer without biases.