ModelScope中,这里是使用多张gpu进行训练,如果想要cpu要怎么进训练,我把gpu_ids去掉也跑不同报错信息这会复现不了,AttributeError: module 'torch._C' has no attribute '_cuda_setDevice最终报的是这个问题,因为我是cpu进行训练安装的cpu的torch
如果你想使用单张或多张 CPU 进行训练,你可以在运行 ModelScope 训练脚本时指定 CPU 标志。
对于单张 CPU 训练,你可以使用 device
参数来指定 cpu
。以下是示例命令:
python train.py --device cpu
对于多张 CPU 训练,你可以使用 num_workers
参数来指定并行的数量。以下是示例命令:
python train.py --num_workers 8
如果你想在CPU上进行训练,你需要将模型的所有操作都转换为CPU操作。这包括所有的矩阵运算、神经网络的前向和反向传播等。
具体来说,你需要将所有的torch.cuda.*
函数替换为torch.*
函数,将所有的.cuda()
方法调用替换为.cpu()
方法调用。
例如,如果你有一个在GPU上定义的变量x = torch.randn(10, 10).cuda()
,你需要将其转换为在CPU上定义的变量x = torch.randn(10, 10)
。
同样,如果你有一个在GPU上定义的模型model = Model().cuda()
,你需要将其转换为在CPU上定义的模型model = Model()
。
请注意,由于CPU的计算能力远小于GPU,因此在CPU上进行训练可能需要更长的时间。此外,某些模型可能无法在CPU上有效地运行,因为这些模型依赖于GPU的并行计算能力。
要不torch您也重装一下试试。刚开始准备环境稍微麻烦一些。环境变量设置了吧设置了要重启———此回答整理自钉群:魔搭ModelScope开发者联盟群 ①