class_docstr: Wrapped DqnAgent that supports recycled training.
class_docstr_tok: ["Wrapped","DqnAgent","that","supports","recycled","training","."]
docstr: create masks of the weights that will be restarted.
  
  take the mask of neurons and create the masked ingoing,
  and outgoing connections based on neuron mask.
  
  Args:
    neuron_mask: mask of a neurons in one layer i
    prev_layer_size: size of layer i-1
    next_layer_size: size of layer i+1
  
  Returns:
    mask of ingoing and outgoing weights
docstr_tok: ["create","masks","of","the","weights","that","will","be","restarted",".","take","the","mask","of","neurons","and","create","the","masked","ingoing",",","and","outgoing","connections","based","on","neuron","mask",".","Args",":","neuron_mask",":","mask","of","a","neurons","in","one","layer","i","prev_layer_size",":","size","of","layer","i-1","next_layer_size",":","size","of","layer","i+1","Returns",":","mask","of","ingoing","and","outgoing","weights"]
code: def create_mask_helper(
      self, neuron_mask, prev_layer_size, next_layer_size
  ):
      """create masks of the weights that will be restarted.
  
      take the mask of neurons and create the masked ingoing,
      and outgoing connections based on neuron mask.
  
      Args:
        neuron_mask: mask of a neurons in one layer i
        prev_layer_size: size of layer i-1
        next_layer_size: size of layer i+1
  
      Returns:
        mask of ingoing and outgoing weights
      """
      neuron_mask = tf.expand_dims(neuron_mask, 1)
      # mask of ingoing weights
      tile_multiple = tf.constant([1, prev_layer_size], tf.int32)
      ingoing_w_mask_t = tf.tile(neuron_mask, tile_multiple)
      ingoing_w_mask = tf.transpose(ingoing_w_mask_t)
      # mask of outgoing weights
      tile_multiple = tf.constant([1, next_layer_size], tf.int32)
      outgoing_w_mask = tf.tile(neuron_mask, tile_multiple)
      return ingoing_w_mask, outgoing_w_mask
  
imports: import functools
  import os
  from absl import app
  from absl import flags
  from absl import logging
  import gin
  import numpy
  import reverb
  from rigl.rl.tfagents import sparse_tanh_normal_projection_network
  import tensorflow
  from tf_agents.agents import tf_agent
  from tf_agents.agents.sac import sac_agent
  from tf_agents.environments import suite_mujoco
  from tf_agents.keras_layers import inner_reshape
  from tf_agents.metrics import py_metrics
  from tf_agents.networks import nest_map
  from tf_agents.networks import sequential
  from tf_agents.policies import greedy_policy
  from tf_agents.policies import py_tf_eager_policy
  from tf_agents.policies import random_py_policy
  from tf_agents.replay_buffers import reverb_replay_buffer
  from tf_agents.replay_buffers import reverb_utils
  from tf_agents.train import actor
  from tf_agents.train import learner
  from tf_agents.train import triggers
  from tf_agents.train.utils import spec_utils
  from tf_agents.train.utils import strategy_utils
  from tf_agents.train.utils import train_utils
  from tf_agents.utils import common
  from tf_agents.utils import object_identity
label_desc: Use image node_id 20 for calling the RecycledSacAgent obj's underlying member method code with example usage: obj.create_mask_helper(neuron_mask, prev_layer_size, next_layer_size) and returns: ingoing_w_mask,  outgoing_w_mask