diff --git a/src/transformers/training_args.py b/src/transformers/training_args.py index 1a03a3448a91db..7aae329f3d688e 100644 --- a/src/transformers/training_args.py +++ b/src/transformers/training_args.py @@ -1425,12 +1425,13 @@ def __post_init__(self): and is_torch_available() and (self.device.type != "cuda") and (self.device.type != "npu") + and (self.device.type != "xpu") and (get_xla_device_type(self.device) != "GPU") and (self.fp16 or self.fp16_full_eval) ): raise ValueError( "FP16 Mixed precision training with AMP or APEX (`--fp16`) and FP16 half precision evaluation" - " (`--fp16_full_eval`) can only be used on CUDA or NPU devices." + " (`--fp16_full_eval`) can only be used on CUDA or NPU devices or certain XPU devices (with IPEX)." ) if (