Applies a linear transformation to the incoming data: y = xA^T + b
nn_linear(in_features, out_features, bias = TRUE)
in_features | size of each input sample |
---|---|
out_features | size of each output sample |
bias | If set to |
Input: (N, *, H_in)
where *
means any number of
additional dimensions and H_in = in_features
.
Output: (N, *, H_out)
where all but the last dimension
are the same shape as the input and :math:H_out = out_features
.
weight: the learnable weights of the module of shape
(out_features, in_features)
. The values are
initialized from \(U(-\sqrt{k}, \sqrt{k})\)s, where
\(k = \frac{1}{\mbox{in\_features}}\)
bias: the learnable bias of the module of shape \((\mbox{out\_features})\).
If bias
is TRUE
, the values are initialized from
\(\mathcal{U}(-\sqrt{k}, \sqrt{k})\) where
\(k = \frac{1}{\mbox{in\_features}}\)
if (torch_is_installed()) { m <- nn_linear(20, 30) input <- torch_randn(128, 20) output <- m(input) print(output$size()) }#> [1] 128 30