lumina37 / rotate-captcha-crack

CNN预测图片旋转角✨可用于破解旋转验证码
The Unlicense
297 stars 85 forks source link

请教下Macos怎么允许此项目? #19

Closed WdBly closed 1 year ago

WdBly commented 1 year ago

直接拉项目 运行会提示:

image
lumina37 commented 1 year ago

这个意思就是你需要一个支持CUDA计算库的设备,如果我没记错,苹果的电脑不兼容这种设备,所以用不了

ControlNet commented 1 year ago

这里的原因是指这个checkpoint文件保存的权重是映射到cuda设备上的,所以会直接加载到GPU上,而MacOS没有GPU,所以不能加载模型。

按照上面的提示,把torch.load设置map_location="cpu"就可以先把模型加载到CPU上,然后再在CPU上运行即可。

lumina37 commented 1 year ago

纯cpu带不动吧,torch对苹果的适配这么好吗

ControlNet commented 1 year ago

用CPU只是一个resnet50应该问题不大,而且如果折腾一下环境的话,用gpu加速也是可以的,device = Device("mps")

WdBly commented 1 year ago

这里的原因是指这个checkpoint文件保存的权重是映射到cuda设备上的,所以会直接加载到GPU上,而MacOS没有GPU,所以不能加载模型。

按照上面的提示,把torch.load设置map_location="cpu"就可以先把模型加载到CPU上,然后再在CPU上运行即可。

model = model.to(device=device) device = torch.device('cuda')

添加 map_location ='cpu' 后,上面这两句还是会报错,请教下如何进行修改呢。

lumina37 commented 1 year ago

首先我没有能运行macOS的设备,只能云听诊;其次你这个“还是会报错”又是报的什么错呢?

WdBly commented 1 year ago
    model.load_state_dict(torch.load(str(model_path), map_location ='cpu'))
    model = model.to(device=torch.device('cpu'))
    ....
    img_ts = img_ts.to(device=torch.device('cpu'))

    已解决,mac需要修改这三行代码