class_docstr: This rewriting converts Softmax operation into a sequence of operations as in Vela.
class_docstr_tok: ["This","rewriting","converts","Softmax","operation","into","a","sequence","of","operations","as","in","Vela","."]
code: def __init__(self):
      super().__init__(require_type=True, rewrite_once=True)
      self.params_class = ethosu_patterns.SoftMaxParams
      self.pattern = (
          wildcard().has_attr(
              {
                  "Composite": ethosu_patterns.SoftMaxParams.composite_name
              }
          )
      )(None)
  
file_path: tvm/python/tvm/relay/backend/contrib/ethosu/softmax_rewriter.py
imports: import math
  import numpy
  from ethosu.vela import fp_math, scaling
  import tvm
  from tvm import relay
  from tvm.relay.backend.contrib.ethosu import op
  from tvm.relay.dataflow_pattern import DFPatternCallback, wildcard
  from tvm.relay.op.contrib import ethosu
label_desc: Use image node_id 1 to create a new SoftmaxRewriter object from inherited base classes: DFPatternCallback with example: obj = SoftmaxRewriter()