def forward(self, out0: Tensor, out1: Tensor) -> Tensor:
        """Forward pass through Symmetric Loss.

        Args:
            out0:
                Output projections of the first set of transformed images.
                Expects the tuple to be of the form (z0, p0), where z0 is
                the output of the backbone and projection MLP, and p0 is the
                output of the prediction head.
            out1:
                Output projections of the second set of transformed images.
                Expects the tuple to be of the form (z1, p1), where z1 is
                the output of the backbone and projection MLP, and p1 is the
                output of the prediction head.

        Returns:
            Negative Cosine Similarity loss value.
        """
        z0, p0 = out0
        z1, p1 = out1

        loss: Tensor = (
            self._neg_cosine_simililarity(p0, z1) / 2
            + self._neg_cosine_simililarity(p1, z0) / 2
        )

        return loss
Forward pass through Symmetric Loss.

        Args:
            out0:
                Output projections of the first set of transformed images.
                Expects the tuple to be of the form (z0, p0), where z0 is
                the output of the backbone and projection MLP, and p0 is the
                output of the prediction head.
            out1:
                Output projections of the second set of transformed images.
                Expects the tuple to be of the form (z1, p1), where z1 is
                the output of the backbone and projection MLP, and p1 is the
                output of the prediction head.

        Returns:
            Negative Cosine Similarity loss value.
        
lightly/loss/sym_neg_cos_sim_loss.py