                                       interpolation=self.interpolation)
          else:
              # Arbitrary resizing
              size = int(round(K.int_shape(inputs)[1] * self.size))
              if get_backend() != "amd":
                  retval = tf.image.resize(inputs, (size, size), method=self.interpolation)
              else:
                  raise NotImplementedError
          return retval
  
      def compute_output_shape(self, input_shape):
          """Computes the output shape of the layer.
  
 
</s> remove     def compute_output_shape(self, input_shape: Tuple[int, ...]) -> Tuple[int, ...]:
 </s> add     def compute_output_shape(self, input_shape: T.Tuple[int, ...]) -> T.Tuple[int, ...]: </s> remove             retval = (os.path.basename(prefix) == "envs")
 </s> add             retval = os.path.basename(prefix) == "envs" </s> remove         if get_backend() == "amd":
            batch, height, width, depth = input_tensor.shape.dims
            new_height = height // self.scale
            new_width = width // self.scale
            reshaped = K.reshape(input_tensor,
                                 (batch, new_height, self.scale, new_width, self.scale, depth))
            retval = K.reshape(K.permute_dimensions(reshaped, [0, 1, 3, 2, 4, 5]),
                               (batch, new_height, new_width, -1))
        else:
            retval = tf.nn.space_to_depth(input_tensor, block_size=self.scale, data_format="NHWC")
 </s> add         retval = tf.nn.space_to_depth(input_tensor, block_size=self.scale, data_format="NHWC") </s> remove             retval = dict(a=decoder(inputs["a"]), b=decoder(inputs["b"]))
 </s> add             retval = {"a": decoder(inputs["a"]), "b": decoder(inputs["b"])} </s> remove             retval = dict(a=g_block((inputs["a"])), b=g_block((inputs["b"])))
 </s> add             retval = {"a": g_block((inputs["a"])), "b": g_block((inputs["b"]))}
            retval = tf.image.resize(inputs, (size, size), method=self.interpolation)
                                       interpolation=self.interpolation)
          else:
              # Arbitrary resizing
              size = int(round(K.int_shape(inputs)[1] * self.size))
            retval = tf.image.resize(inputs, (size, size), method=self.interpolation)
            retval = tf.image.resize(inputs, (size, size), method=self.interpolation)
            retval = tf.image.resize(inputs, (size, size), method=self.interpolation)
            retval = tf.image.resize(inputs, (size, size), method=self.interpolation)
          return retval
  
      def compute_output_shape(self, input_shape):
          """Computes the output shape of the layer.
  
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Remove plaidML support (#1325)

* Remove PlaidML reference from readme files

* Remove AMD option from installers

* remove amd requirements and update setup.py

* remove plaidml test from CI workflow

* gpustats: remove plaidml backend

* plaid removals:
  - faceswap.py - python version check
  - setup.cfg - plaidml typing ignore
  - lib.keras_utils - All plaid code
  - lib.launcher.py - All plaidml checks and configuration

* remove tf2.2 specific code from GUI event reader

* lib.model - remove all plaidml implementations

* plugins.extract - remove plaidml code

* plugins.train remove plaidml code

* lib.convert - remove plaidml code

* tools.model: remove plaidml code

* Remove plaidML tests from unit tests

* remove plaidml_utils and docsting cleanups

* Remove plaidML refs from configs

* fix keras imports 
lib/model/layers.py