class_docstr: Recycle the weights connected to dead neurons.
  
  In convolutional neural networks, we consider a feature map as neuron.
  
  Attributes:
    next_layers: dict key a current layer name, value next layer name.
    init_method_outgoing: method to init outgoing weights (random, zero).
    weight_scaling: if true, scale reinit weights.
    incoming_scale: scalar for incoming weights.
    outgoing_scale: scalar for outgoing weights.
class_docstr_tok: ["Recycle","the","weights","connected","to","dead","neurons",".","In","convolutional","neural","networks",",","we","consider","a","feature","map","as","neuron",".","Attributes",":","next_layers",":","dict","key","a","current","layer","name",",","value","next","layer","name",".","init_method_outgoing",":","method","to","init","outgoing","weights","(","random",",","zero",")",".","weight_scaling",":","if","true",",","scale","reinit","weights",".","incoming_scale",":","scalar","for","incoming","weights",".","outgoing_scale",":","scalar","for","outgoing","weights","."]
code: def is_intermediated_required(self, update_step):
      is_logging = self.is_logging_step(update_step)
      is_update_iter = self.is_update_iter(update_step)
      return is_logging or is_update_iter
  
imports: import functools
  import logging
  import flax
  from flax import linen
  import gin
  import jax
  from jax import random
  import jax.numpy
  import optax
label_desc: Use image node_id 4 for calling the NeuronRecycler obj's underlying member method code with example usage: obj.is_intermediated_required(update_step) and returns: unknown