class_docstr: Layer class, which contains the information of graph.
docstr: Calculation of `hash_id` of Layer. Which is determined by the properties of itself, and the `hash_id`s of input layers
docstr_tok: ["Calculation","of","`","hash_id","`","of","Layer",".","Which","is","determined","by","the","properties","of","itself",",","and","the","`","hash_id","`","s","of","input","layers"]
code: def update_hash(self, layers: Iterable):
      """
      Calculation of `hash_id` of Layer. Which is determined by the properties of itself, and the `hash_id`s of input layers
      """
      if self.graph_type == LayerType.input.value:
          return
      hasher = hashlib.md5()
      hasher.update(LayerType(self.graph_type).name.encode("ascii"))
      hasher.update(str(self.size).encode("ascii"))
      for i in self.input:
          if layers[i].hash_id is None:
              raise ValueError(
                  "Hash id of layer {}: {} not generated!".format(
                      i, layers[i]
                  )
              )
          hasher.update(layers[i].hash_id.encode("ascii"))
      self.hash_id = hasher.hexdigest()
  
imports: import copy
  import hashlib
  import logging
  import json
  import random
  from collections import deque
  from enum import Enum, unique
  from typing import Iterable
  import numpy
label_desc: Use image node_id 2 for calling the Layer obj's underlying member method code with example usage: obj.update_hash(layers) without return types