docstr: Apply sigmoid activation on given output(s) of the model
  :param model: Model to wrap
  :param output_key: string index, or list of strings, indicating to what outputs sigmoid activation should be applied.
  :param temperature: Temperature scaling coefficient. Values > 1 will make logits sharper.
docstr_tok: ["Apply","sigmoid","activation","on","given","output","(","s",")","of","the","model",":","param","model",":","Model","to","wrap",":","param","output_key",":","string","index",",","or","list","of","strings",",","indicating","to","what","outputs","sigmoid","activation","should","be","applied",".",":","param","temperature",":","Temperature","scaling","coefficient",".","Values",">","1","will","make","logits","sharper","."]
code: def __init__(
      self,
      model: nn.Module,
      output_key: Union[str, int, Iterable[str]] = "logits",
      temperature=1,
  ):
      """
      Apply sigmoid activation on given output(s) of the model
      :param model: Model to wrap
      :param output_key: string index, or list of strings, indicating to what outputs sigmoid activation should be applied.
      :param temperature: Temperature scaling coefficient. Values > 1 will make logits sharper.
      """
      super().__init__()
      # By converting to set, we prevent double-activation by passing output_key=["logits", "logits"]
      output_key = (
          (output_key,)
          if isinstance(output_key, (str, int))
          else tuple(set(output_key))
      )
      self.output_keys = output_key
      self.model = model
      self.temperature = temperature
  
imports: import torch
  from torch import nn, Tensor
  from typing import List, Union, Iterable, Optional, Dict, Tuple
  from pytorch_toolbelt.inference.tta import _deaugment_averaging
label_desc: Use image node_id 1 to create a new ApplySigmoidTo object from inherited base classes: nn with example: obj = ApplySigmoidTo(model, output_key, temperature)