class_docstr: Layout is composed of upper cases, lower cases and numbers,
  where upper case indicates a primal axis and
  the corresponding lower case with factor size indicates the subordinate axis.
  For example, NCHW16c can describe a 5-D tensor of
  [batch_size, channel, height, width, channel_block].
  Here subordinate axis channel_block=16 is the factor size of the primal axis C (channel).
  
  See Also
  --------
  layout : Declare a layout
class_docstr_tok: ["Layout","is","composed","of","upper","cases",",","lower","cases","and","numbers",",","where","upper","case","indicates","a","primal","axis","and","the","corresponding","lower","case","with","factor","size","indicates","the","subordinate","axis",".","For","example",",","NCHW16c","can","describe","a","5-D","tensor","of","[","batch_size",",","channel",",","height",",","width",",","channel_block","]",".","Here","subordinate","axis","channel_block=16","is","the","factor","size","of","the","primal","axis","C","(","channel",")",".","See","Also","--","--","--","--","layout",":","Declare","a","layout"]
code: def __contains__(self, axis):
      return (
          len(axis) == 1 and axis[0].isalpha() and axis[0] in self.name
      )
  
file_path: tvm/python/tvm/tir/data_layout.py
imports: from typing import Union
  import tvm._ffi
  from tvm.runtime import Object
  from .None import _ffi_api
label_desc: Use image node_id 2 for calling the Layout obj's underlying member method code with example usage: obj.__contains__(axis) and returns: unknown