def caa_hue(
        self, data: "torch.Tensor", hue: "torch.Tensor", labels: "torch.Tensor"
    ) -> tuple["torch.Tensor", "torch.Tensor"]:
        """
        Compute the adversarial examples for hue component.

        :param data: A tensor of a batch of original inputs to be attacked.
        :param hue: Specify the hue shift angle.
        :param labels: A tensor of a batch of the original labels to be predicted.
        :return: The perturbed data and the corresponding hue shift angle.
        """
        hue = hue.detach().clone()
        hue[self.is_attacked] = 0
        hue.requires_grad_()
        sur_data = data.detach().requires_grad_()

        return self._comp_pgd(
            data=sur_data, labels=labels, attack_idx=0, attack_parameter=hue, ori_is_attacked=self.is_attacked.clone()
        )

        Compute the adversarial examples for hue component.

        :param data: A tensor of a batch of original inputs to be attacked.
        :param hue: Specify the hue shift angle.
        :param labels: A tensor of a batch of the original labels to be predicted.
        :return: The perturbed data and the corresponding hue shift angle.
        
art/attacks/evasion/composite_adversarial_attack.py