class_docstr: ### Fuzzy Tiling Activations (FTA)
code: def forward(self, z: torch.Tensor):
      # Add another dimension of size $1$.
      # We will expand this into bins.
      z = z.view(*z.shape, 1)
  
      # $$\phi_\eta(z) = 1 - I_{\eta,+} \big( \max(\mathbf{c} - z, 0) + \max(z - \delta - \mathbf{c}, 0) \big)$$
      z = 1.0 - self.fuzzy_i_plus(
          torch.clip(self.c - z, min=0.0)
          + torch.clip(z - self.delta - self.c, min=0.0)
      )
  
      # Reshape back to original number of dimensions.
      # The last dimension size gets expanded by the number of bins, $\frac{u - l}{\delta}$.
      return z.view(*z.shape[:-2], -1)
  
file_path: annotated_deep_learning_paper_implementations/labml_nn/activations/fta/__init__.py
imports: import torch
  from torch import nn
label_desc: Use image node_id 3 for calling the FTA obj's underlying member method code with example usage: obj.forward(z) and returns: z