Skip to contents

Applies a linear transformation to the incoming data: y = xA^T + b

## Usage

nn_linear(in_features, out_features, bias = TRUE)

## Arguments

in_features

size of each input sample

out_features

size of each output sample

bias

If set to FALSE, the layer will not learn an additive bias. Default: TRUE

## Shape

• 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.

## Attributes

• 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}}$$

## Examples

if (torch_is_installed()) {
m <- nn_linear(20, 30)
input <- torch_randn(128, 20)
output <- m(input)
print(output\$size())
}
#> [1] 128  30