You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行SelfPAB仓库时遇torch.library无register_fake属性错误求解决

问题:部署SelfPAB训练时出现AttributeError: module 'torch.library' has no attribute 'register_fake'

我在本地部署SelfPAB仓库,已完成数据集下载,但执行训练命令时触发如下报错:

File "C:\Users\My PC\Desktop\CCPS\helpmepleaserun\SelfPAB\loo_cross_validation.py", line 3, in <module>
    import train
  File "C:\Users\My PC\Desktop\CCPS\helpmepleaserun\SelfPAB\train.py", line 8, in <module>
    import src.datasets
  File "C:\Users\My PC\Desktop\CCPS\helpmepleaserun\SelfPAB\src\datasets.py", line 11, in <module>
    import src.utils
  File "C:\Users\My PC\Desktop\CCPS\helpmepleaserun\SelfPAB\src\utils.py", line 10, in <module>
    import torchmetrics
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\__init__.py", line 14, in <module>
    from torchmetrics import functional  # noqa: E402
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\functional\__init__.py", line 14, in <module>
    from torchmetrics.functional.audio.pit import permutation_invariant_training, pit_permutate
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\functional\audio\__init__.py", line 14, in <module>
    from torchmetrics.functional.audio.pit import permutation_invariant_training, pit_permutate  # noqa: F401
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\functional\audio\pit.py", line 21, in <module>
    from torchmetrics.utilities.imports import _SCIPY_AVAILABLE 
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\utilities\__init__.py", line 1, in <module>
    from torchmetrics.utilities.checks import check_forward_full_state_property  # noqa: F401
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\utilities\checks.py", line 22, in <module>
    from torchmetrics.utilities.data import select_topk, to_onehot
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\utilities\data.py", line 19, in <module>
    from torchmetrics.utilities.imports import _TORCH_GREATER_EQUAL_1_6, _TORCH_GREATER_EQUAL_1_7, _TORCH_GREATER_EQUAL_1_8     
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\utilities\imports.py", line 117, in <module>
    _TORCHVISION_GREATER_EQUAL_0_8: Optional[bool] = _compare_version("torchvision", operator.ge, "0.8.0")
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchmetrics\utilities\imports.py", line 79, in _compare_version
    return _bootstrap._gcd_import(name[level:], package, level)
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchvision\__init__.py", line 10, in <module>
    from torchvision import _meta_registrations, datasets, io, models, ops, transforms, utils  # usort:skip
  File "D:\anaconda3\envs\mynewenv\lib\site-packages\torchvision\_meta_registrations.py", line 163, in <module>
    @torch.library.register_fake("torchvision::nms")
AttributeError: module 'torch.library' has no attribute 'register_fake'

当前使用的torch版本为2.5.0.dev20240626 py3.9_cuda12.1_cudnn9_0,已尝试更新torch但问题未解决,求修复方法。


修复方法

  • 严格匹配torch与torchvision版本:你使用的是torch开发预览版,对应的torchvision版本可能未同步兼容。torch.library.register_fake是特定版本torch才支持的API,可选择降级到稳定版torch并安装对应匹配的torchvision:
    pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu121
    
  • 对齐torchmetrics版本:torchmetrics与torch、torchvision版本不兼容会引发连锁导入错误,建议查看SelfPAB仓库的requirements.txt文件,安装指定版本的torchmetrics:
    pip install -r requirements.txt
    
  • 重建干净的虚拟环境:若当前环境依赖混乱,直接新建conda环境从头配置:
    conda create -n selfpab_env python=3.9
    conda activate selfpab_env
    # 安装适配cuda12.1的稳定版torch套件
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    # 安装仓库所有依赖
    pip install -r requirements.txt
    

内容的提问来源于stack exchange,提问作者aerial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:53:12