class_docstr: TLU layer from 'Filter Response Normalization Layer: Eliminating Batch Dependence in the Training of Deep
  Neural Networks, see :cite:`FRN2019` for more details. :math:`{\tau}` is learnable per channel.
  
  .. math::
      y = \max(x, {\tau})
  
  Args:
      num_features: number of channels
  
  Returns:
      torch.Tensor
  
  Shape:
      - Input: :math:`(B, \text{num_features}, H, W)`
      - Output: :math:`(B, \text{num_features}, H, W)`
class_docstr_tok: ["TLU","layer","from","'Filter","Response","Normalization","Layer",":","Eliminating","Batch","Dependence","in","the","Training","of","Deep","Neural","Networks",",","see",":","cite",":","`","FRN2019","`","for","more","details",".",":","math",":","`","{","\\tau","}","`","is","learnable","per","channel",".","..","math",":",":","y","=","\\max","(","x",",","{","\\tau","}",")","Args",":","num_features",":","number","of","channels","Returns",":","torch.Tensor","Shape",":","-","Input",":",":","math",":","`","(","B",",","\\text","{","num_features","}",",","H",",","W",")","`","-","Output",":",":","math",":","`","(","B",",","\\text","{","num_features","}",",","H",",","W",")","`"]
docstr: max(y, tau) = max(y - tau, 0) + tau = ReLU(y - tau) + tau
docstr_tok: ["max","(","y",",","tau",")","=","max","(","y","-","tau",",","0",")","+","tau","=","ReLU","(","y","-","tau",")","+","tau"]
code: def __init__(self, num_features: int) -> None:
      """max(y, tau) = max(y - tau, 0) + tau = ReLU(y - tau) + tau"""
      super().__init__()
      self.num_features = num_features
      self.tau = Parameter(
          -torch.ones(1, num_features, 1, 1), requires_grad=True
      )
      self.reset_parameters()
  
imports: from typing import Dict
  import torch
  from torch import nn
  from kornia.core import Module, Parameter, Tensor, tensor, zeros
  from kornia.utils.helpers import map_location_to_cpu
label_desc: Use image node_id 1 to create a new TLU object from inherited base classes: Module with example: obj = TLU(num_features)