class_docstr: A linear output block holding a single linear layer.
  
  :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","block","holding","a","single","linear","layer",".",":","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","."]
docstr: This is the text shown in the graph visualization.
docstr_tok: ["This","is","the","text","shown","in","the","graph","visualization","."]
code: def __repr__(self):
      """This is the text shown in the graph visualization."""
      txt = self.__class__.__name__
      txt += f"\nOut Shapes: {self.out_shapes()}"
      return txt
  
file_path: maze/docs/source/policy_and_value_networks/code_snippets/my_linear_block.py
imports: import builtins
  from typing import Union, List, Sequence, Dict
  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 3 for calling the MyLinearBlock obj's underlying member method code with example usage: obj.__repr__() and returns: txt