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

加载PyTorch YOLOv5模型时报WinError 32权限错误如何解决?

YOLOv5 torch.hub加载权限错误排查与解决

报错本质

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\Users\username/.cache\torch\hub\ultralytics_yolov5_master\requirements.txt'

该错误是因为force_reload=True参数会触发torch.hub强制覆写本地缓存的YOLOv5源码文件,但缓存目录下的文件被其他未退出的Python/Jupyter进程锁定,无法修改。

排查步骤

  • 关闭所有已经打开的Jupyter notebook/lab窗口,尤其是之前运行过YOLOv5相关代码的窗口
  • 打开Windows任务管理器,结束所有残留的python.exe、pythonw.exe、jupyter-notebook.exe进程
  • 手动访问缓存目录C:\Users\你的用户名\.cache\torch\hub\,尝试删除ultralytics_yolov5_master文件夹:如果无法删除,说明确实有进程占用该目录下的文件,重启电脑即可解除占用

解决方案

  • 优先移除force_reload=True参数:该参数仅在需要更新YOLOv5远程源码时使用,无需每次加载自定义模型都添加,修改后的代码如下:
model = torch.hub.load('ultralytics/yolov5', 'custom', path='yolov5-master/yolov5-master/runs/train/weights/last.pt')
  • 如果确实需要强制重载源码,先完成上述排查步骤删除缓存文件夹后,再运行带force_reload=True的代码
  • 避免触发缓存占用的替代方案:直接从本地YOLOv5源码导入模型加载,无需走torch.hub的缓存逻辑,代码示例:
import sys
# 替换为你本地的yolov5源码根目录路径
sys.path.append('yolov5-master')
from models.common import DetectMultiBackend
model = DetectMultiBackend('yolov5-master/yolov5-master/runs/train/weights/last.pt')
  • 所有方法都无效时直接重启电脑,清空所有进程占用后再运行代码即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:18:00