class_docstr: A model containing a CNNTranspose with N Conv2DTranspose layers.
  
  All layers share the same activation function, bias setup (use bias or not), and
  LayerNormalization setup (use layer normalization or not), except for the last one,
  which is never activated and never layer norm'd.
  
  Note that there is no reshaping/flattening nor an additional dense layer at the
  beginning or end of the stack. The input as well as output of the network are 3D
  tensors of dimensions [width x height x num output filters].
class_docstr_tok: ["A","model","containing","a","CNNTranspose","with","N","Conv2DTranspose","layers",".","All","layers","share","the","same","activation","function",",","bias","setup","(","use","bias","or","not",")",",","and","LayerNormalization","setup","(","use","layer","normalization","or","not",")",",","except","for","the","last","one",",","which","is","never","activated","and","never","layer","norm","'d",".","Note","that","there","is","no","reshaping\/flattening","nor","an","additional","dense","layer","at","the","beginning","or","end","of","the","stack",".","The","input","as","well","as","output","of","the","network","are","3D","tensors","of","dimensions","[","width","x","height","x","num","output","filters","]","."]
code: def call(self, inputs, **kwargs):
      return self.cnn_transpose(
          tf.cast(inputs, self.expected_input_dtype)
      )
  
file_path: ray/rllib/core/models/tf/primitives.py
imports: from typing import Callable, Dict, List, Optional, Tuple, Union
  from ray.rllib.models.utils import get_activation_fn, get_initializer_fn
  from ray.rllib.utils.framework import try_import_tf
label_desc: Use image node_id 2 for calling the TfCNNTranspose obj's underlying member method code with example usage: obj.call(inputs) and returns: self