class_docstr: Base attribute class.
  
  Attribute consists of a name, the type of value it will store, the optional default if no value is specified during
  layer creation, and a flag indicating if the value can be modified by the user. This class is generally expected to
  exist only as part of the ``expected_attributes`` property of the layer class.
  
  Args:
      name (str): Name of the attribute
      value_type (optional): Type of the value expected to be stored in the attribute.
          If not specified, no validation of the stored value will be performed. Defaults to ``int``.
      default (optional): Default value if no value is specified during layer creation. Defaults to ``None``.
      configurable (bool, optional): Specifies if the attribute can be modified after creation. Defaults to ``False``.
class_docstr_tok: ["Base","attribute","class",".","Attribute","consists","of","a","name",",","the","type","of","value","it","will","store",",","the","optional","default","if","no","value","is","specified","during","layer","creation",",","and","a","flag","indicating","if","the","value","can","be","modified","by","the","user",".","This","class","is","generally","expected","to","exist","only","as","part","of","the","``","expected_attributes","``","property","of","the","layer","class",".","Args",":","name","(","str",")",":","Name","of","the","attribute","value_type","(","optional",")",":","Type","of","the","value","expected","to","be","stored","in","the","attribute",".","If","not","specified",",","no","validation","of","the","stored","value","will","be","performed",".","Defaults","to","``","int","``",".","default","(","optional",")",":","Default","value","if","no","value","is","specified","during","layer","creation",".","Defaults","to","``","None","``",".","configurable","(","bool",",","optional",")",":","Specifies","if","the","attribute","can","be","modified","after","creation",".","Defaults","to","``","False","``","."]
code: def __init__(
      self, name, value_type=Integral, default=None, configurable=False
  ):
      self.name = name
      self.value_type = value_type
      self.default = default
      self.configurable = configurable
  
imports: from collections.abc import MutableMapping
  from numbers import Integral
  from hls4ml.model.types import NamedType, Source, TensorVariable, WeightVariable
  from hls4ml.utils.string_utils import convert_to_pascal_case
label_desc: Use image node_id 1 to create a new Attribute object  with example: obj = Attribute(name, value_type, default, configurable)