Bilinear module
Applies a bilinear transformation to the incoming data y = x_1^T A x_2 + b
nn_bilinear(in1_features, in2_features, out_features, bias = TRUE)
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 |
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.
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}}
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()) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.