请教下Macos怎么允许此项目?
Closed this issue · 7 comments
WdBly commented
lumina37 commented
这个意思就是你需要一个支持CUDA计算库的设备,如果我没记错,苹果的电脑不兼容这种设备,所以用不了
ControlNet commented
这里的原因是指这个checkpoint文件保存的权重是映射到cuda设备上的,所以会直接加载到GPU上,而MacOS没有GPU,所以不能加载模型。
按照上面的提示,把torch.load
设置map_location="cpu"
就可以先把模型加载到CPU上,然后再在CPU上运行即可。
lumina37 commented
纯cpu带不动吧,torch对苹果的适配这么好吗
ControlNet commented
用CPU只是一个resnet50应该问题不大,而且如果折腾一下环境的话,用gpu加速也是可以的,device = Device("mps")
WdBly commented
这里的原因是指这个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
首先我没有能运行macOS的设备,只能云听诊;其次你这个“还是会报错”又是报的什么错呢?
WdBly commented
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需要修改这三行代码