class_docstr: Module that implements a linear layer with block matrices with positive diagonal
  blocks. Moreover, it uses Weight Normalization
  (https://arxiv.org/abs/1602.07868) for stability.
class_docstr_tok: ["Module","that","implements","a","linear","layer","with","block","matrices","with","positive","diagonal","blocks",".","Moreover",",","it","uses","Weight","Normalization","(","https",":","\/\/arxiv.org\/abs\/1602.07868",")","for","stability","."]
code: def forward(self, x):
      w, wpl = self.get_weights()
      return (torch.matmul(w, x) + self.bias.unsqueeze(-1)).squeeze(
          -1
      ), wpl
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  from ..None import constraints
  from ..torch_transform import TransformModule
  from ..util import copy_docs_from
  from .neural_autoregressive import ELUTransform, LeakyReLUTransform, TanhTransform
label_desc: Use image node_id 3 for calling the MaskedBlockLinear obj's underlying member method code with example usage: obj.forward(x) and returns: unknown,  wpl