class_docstr: A linear output head modeled as a single linear layer.
  Additionally the biases of the layer can be biased towards initial values.
  (e.g. to achieve a certain sampling behaviour right from the beginning of training)
  
  :param in_keys: One key identifying the input tensors.
  :param out_keys: One key identifying the output tensors.
  :param in_shapes: List of input shapes.
  :param output_units: Count of output units.
class_docstr_tok: ["A","linear","output","head","modeled","as","a","single","linear","layer",".","Additionally","the","biases","of","the","layer","can","be","biased","towards","initial","values",".","(","e.g",".","to","achieve","a","certain","sampling","behaviour","right","from","the","beginning","of","training",")",":","param","in_keys",":","One","key","identifying","the","input","tensors",".",":","param","out_keys",":","One","key","identifying","the","output","tensors",".",":","param","in_shapes",":","List","of","input","shapes",".",":","param","output_units",":","Count","of","output","units","."]
code: def __init__(
      self,
      in_keys: Union[str, List[str]],
      out_keys: Union[str, List[str]],
      in_shapes: Union[Sequence[int], List[Sequence[int]]],
      output_units: int,
  ):
      super().__init__(
          in_keys=in_keys,
          out_keys=out_keys,
          in_shapes=in_shapes,
          in_num_dims=2,
          out_num_dims=2,
      )
      assert len(self.out_keys) == 1
      assert len(self.in_keys) == 1
      assert len(self.in_shapes) == 1
  
      self.input_units = self.in_shapes[0][-1]
      self.output_units = output_units
  
      self.net = nn.Linear(self.input_units, self.output_units)
  
file_path: maze/maze/perception/blocks/output/linear.py
imports: import builtins
  from typing import Union, List, Sequence, Dict
  import numpy
  import torch
  from torch import nn
  from maze.core.annotations import override
  from maze.perception.blocks.shape_normalization import ShapeNormalizationBlock
label_desc: Use image node_id 1 to create a new LinearOutputBlock object from inherited base classes: ShapeNormalizationBlock with example: obj = LinearOutputBlock(in_keys, out_keys, in_shapes, output_units)