class_docstr: Policy object to apply parallelism per model
class_docstr_tok: ["Policy","object","to","apply","parallelism","per","model"]
docstr: Class to apply the policy to
  e.g. BertLayer, GPT2Block, BartEncoderLayer, ...
  
  Returns:
      Type[nn.Module]: original layer class
docstr_tok: ["Class","to","apply","the","policy","to","e.g",".","BertLayer",",","GPT2Block",",","BartEncoderLayer",",","...","Returns",":","Type","[","nn.Module","]",":","original","layer","class"]
code: def original_layer_class() -> Type[nn.Module]:
      """
      Class to apply the policy to
      e.g. BertLayer, GPT2Block, BartEncoderLayer, ...
  
      Returns:
          Type[nn.Module]: original layer class
      """
      raise NotImplementedError
  
file_path: parallelformers/parallelformers/policies/base/policy.py
imports: from abc import ABC, abstractmethod
  from dataclasses import dataclass
  from typing import Any, Dict, List, Type
  from torch import nn
label_desc: Use image node_id 8 for calling the Policy obj's underlying member method code with example usage: obj.original_layer_class() without return types