From 4c602a6c072c2a5d13b58f33df5645812dc0e2fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Thu, 27 Nov 2025 13:38:09 +0100 Subject: [PATCH] Add PyTorch 2.5+ compatibility patch for _pytree API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The torch.utils._pytree module changed its API in PyTorch 2.5: - register_pytree_node became _register_pytree_node (or vice versa) - This breaks audiocraft which uses the old API Add monkey-patch to alias the function for backwards compatibility. See: https://stackoverflow.com/questions/78501569 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- main.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/main.py b/main.py index d412677..02ae944 100644 --- a/main.py +++ b/main.py @@ -16,6 +16,17 @@ os.chdir(PROJECT_ROOT) # Add project root to path sys.path.insert(0, str(PROJECT_ROOT)) +# PyTorch 2.5+ compatibility patch for audiocraft +# The _pytree API changed - add backwards compatibility +try: + import torch.utils._pytree as _pytree + if not hasattr(_pytree, 'register_pytree_node') and hasattr(_pytree, '_register_pytree_node'): + _pytree.register_pytree_node = _pytree._register_pytree_node + elif not hasattr(_pytree, '_register_pytree_node') and hasattr(_pytree, 'register_pytree_node'): + _pytree._register_pytree_node = _pytree.register_pytree_node +except Exception: + pass # Ignore if patch fails + from config.settings import get_settings from src.core.gpu_manager import GPUMemoryManager from src.core.model_registry import ModelRegistry