- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
1小时前关闭。
Improve this question
我克隆了一个git repo并尝试运行代码。然而,我意识到一些操作被加载到了GPU上。问题是MacOS不支持NVIDA,所以我在运行代码时不断得到Assert错误(如下所示)。任何建议都将受到感谢。
注意,代码相当庞大,所以我不能遍历每个文件并卸载这些操作。
for batch_idx, data in enumerate(valid_generator):
X, Y, X_label, Y_label = data[0].squeeze(-1).to(device), data[1].squeeze(-1).to(device), data[2].squeeze(-1).to(device), data[3].squeeze(-1).to(device)
transform = SpatialTransform_unit().cuda()
for param in transform.parameters():
param.requires_grad = False
param.volatile = True
names = sorted(glob.glob(datapath + '/OASIS_OAS1_*_MR1/slice_norm.nii.gz'))
grid_4 = generate_grid(imgshape_4)
grid_4 = torch.from_numpy(np.reshape(grid_4, (1,) + grid_4.shape)).cuda().float()
我得到下面的错误
raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled
1条答案
按热度按时间kh212irz1#
在代码的开头添加这段代码就足够了(告诉PyTorch使用CPU的代码行):
然后,您需要将
.cuda()
全局替换为.to(device)
(您可能有机会在IDE的帮助下在所有项目代码中*自动执行此操作如果错误仍然存在,请尝试手动设置shell中变量
CUDA_VISIBLE_DEVICES
的值:如果无法在混乱的代码中执行大量方法替换,或者如果您打算在将来使用模型:
考虑使用***带GPU的远程机器***。根据我的经验,这通常是Mac用户所做的。如果你的模型不是很大,你可以使用Google Colab或其他类似的服务。
祝你好运:)