Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

nn_bilinear

Bilinear module


Description

Applies a bilinear transformation to the incoming data y = x_1^T A x_2 + b

Usage

nn_bilinear(in1_features, in2_features, out_features, bias = TRUE)

Arguments

in1_features

size of each first input sample

in2_features

size of each second 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

  • Input1: (N, *, H_{in1}) H_{in1}=\mbox{in1\_features} and * means any number of additional dimensions. All but the last dimension of the inputs should be the same.

  • Input2: (N, *, H_{in2}) where H_{in2}=\mbox{in2\_features}.

  • Output: (N, *, H_{out}) where H_{out}=\mbox{out\_features} and all but the last dimension are the same shape as the input.

Attributes

  • weight: the learnable weights of the module of shape (\mbox{out\_features}, \mbox{in1\_features}, \mbox{in2\_features}). The values are initialized from \mathcal{U}(-√{k}, √{k}), where k = \frac{1}{\mbox{in1\_features}}

  • bias: the learnable bias of the module of shape (\mbox{out\_features}). If bias is TRUE, the values are initialized from \mathcal{U}(-√{k}, √{k}), where k = \frac{1}{\mbox{in1\_features}}

Examples

if (torch_is_installed()) {
m <- nn_bilinear(20, 30, 50)
input1 <- torch_randn(128, 20)
input2 <- torch_randn(128, 30)
output = m(input1, input2)
print(output$size()) 

}

torch

Tensors and Neural Networks with 'GPU' Acceleration

v0.3.0
MIT + file LICENSE
Authors
Daniel Falbel [aut, cre, cph], Javier Luraschi [aut], Dmitriy Selivanov [ctb], Athos Damiani [ctb], Christophe Regouby [ctb], Krzysztof Joachimiak [ctb], RStudio [cph]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.