class_docstr: Block for image data.
  
  The image blocks is a block choosing from ResNetBlock, XceptionBlock,
  ConvBlock, which is controlled by a hyperparameter, 'block_type'.
  
  # Arguments
      block_type: String. 'resnet', 'xception', 'vanilla'. The type of Block
          to use. If unspecified, it will be tuned automatically.
      normalize: Boolean. Whether to channel-wise normalize the images.
          If unspecified, it will be tuned automatically.
      augment: Boolean. Whether to do image augmentation. If unspecified,
          it will be tuned automatically.
class_docstr_tok: ["Block","for","image","data",".","The","image","blocks","is","a","block","choosing","from","ResNetBlock",",","XceptionBlock",",","ConvBlock",",","which","is","controlled","by","a","hyperparameter",",","'block_type","'",".","#","Arguments","block_type",":","String",".","'resnet","'",",","'xception","'",",","'vanilla","'",".","The","type","of","Block","to","use",".","If","unspecified",",","it","will","be","tuned","automatically",".","normalize",":","Boolean",".","Whether","to","channel-wise","normalize","the","images",".","If","unspecified",",","it","will","be","tuned","automatically",".","augment",":","Boolean",".","Whether","to","do","image","augmentation",".","If","unspecified",",","it","will","be","tuned","automatically","."]
code: def __init__(
      self,
      block_type: Optional[str] = None,
      normalize: Optional[bool] = None,
      augment: Optional[bool] = None,
      **kwargs,
  ):
      super().__init__(**kwargs)
      self.block_type = block_type
      self.normalize = normalize
      self.augment = augment
  
imports: from typing import Optional
  from tensorflow import nest
  from autokeras.blocks import basic
  from autokeras.blocks import preprocessing
  from autokeras.blocks import reduction
  from autokeras.engine import block
label_desc: Use image node_id 1 to create a new ImageBlock object from inherited base classes: block_module with example: obj = ImageBlock(block_type, normalize, augment)