class_docstr: Implementation of SimCLR used by the command-line interface.
  
  Provides backwards compatability with old checkpoints.
docstr: Embeds and projects the input images.
docstr_tok: ["Embeds","and","projects","the","input","images","."]
code: def forward(self, x0: torch.Tensor, x1: torch.Tensor = None):
      """Embeds and projects the input images."""
  
      # forward pass of first input x0
      f0 = self.backbone(x0).flatten(start_dim=1)
      out0 = self.projection_head(f0)
  
      # return out0 if x1 is None
      if x1 is None:
          return out0
  
      # forward pass of second input x1
      f1 = self.backbone(x1).flatten(start_dim=1)
      out1 = self.projection_head(f1)
  
      # return both outputs
      return out0, out1
  
file_path: lightly/lightly/cli/_cli_simclr.py
imports: import warnings
  import torch
  import torch.nn
  from lightly.models.modules import SimCLRProjectionHead
label_desc: Use image node_id 2 for calling the _SimCLR obj's underlying member method code with example usage: obj.forward(x0, x1) and returns: out0,  out1, out0