class_docstr: Example of weight sharing between two different TorchModelV2s.
  
  The shared (single) layer is simply defined outside of the two Models,
  then used by both Models in their forward pass.
class_docstr_tok: ["Example","of","weight","sharing","between","two","different","TorchModelV2s",".","The","shared","(","single",")","layer","is","simply","defined","outside","of","the","two","Models",",","then","used","by","both","Models","in","their","forward","pass","."]
code: def forward(self, input_dict, state, seq_lens):
      out = self.first_layer(input_dict["obs"])
      self._output = self._global_shared_layer(out)
      model_out = self.last_layer(self._output)
      return model_out, []
  
imports: import numpy
  from ray.rllib.models.modelv2 import ModelV2
  from ray.rllib.models.tf.tf_modelv2 import TFModelV2
  from ray.rllib.models.torch.misc import SlimFC
  from ray.rllib.models.torch.torch_modelv2 import TorchModelV2
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.framework import try_import_tf, try_import_torch
label_desc: Use image node_id 2 for calling the TorchSharedWeightsModel obj's underlying member method code with example usage: obj.forward(input_dict, state, seq_lens) and returns: model_out,  list