Add compatibility check for torch.xpu before accessing #1243
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Adds a safety check before accessing
torch.xpu.is_available()to preventAttributeErrorwhen using PyTorch versions < 2.4.Problem
The code currently calls
torch.xpu.is_available()without checking if thexpuattribute exists. Thetorch.xpumodule was added in PyTorch 2.4+, causing anAttributeErroron earlier versions, e.g. 2.2.2:This can break the applications running PyTorch 2.0-2.3, even though F5-TTS's
pyproject.tomlonly requirestorch>=2.0.0.Solution
Add
hasattr(torch, 'xpu')check before callingtorch.xpu.is_available(). This ensures backward compatibility with PyTorch 2.0+ while still supporting Intel XPU acceleration when available.Changes
src/f5_tts/infer/utils_infer.pyline 42if torch.xpu.is_available():if hasattr(torch, 'xpu') and torch.xpu.is_available():Testing
Impact