class_docstr: Example of weight sharing between two different TFModelV2s.
  
  NOTE: This will only work for tf2.x. When running with config.framework=tf,
  use SharedWeightsModel1 and SharedWeightsModel2 below, instead!
  
  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","TFModelV2s",".","NOTE",":","This","will","only","work","for","tf2.x",".","When","running","with","config.framework=tf",",","use","SharedWeightsModel1","and","SharedWeightsModel2","below",",","instead","!","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._value_out = self.base_model(input_dict["obs"])
      return 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 TF2SharedWeightsModel obj's underlying member method code with example usage: obj.forward(input_dict, state, seq_lens) and returns: out,  list