依赖库
from accelerate import Accelerator
from accelerate import DistributedDataParallelKwargs
ddp_kwargs = DistributedDataParallelKwargs(find_unused_parameters=True)
accelerator = Accelerator(kwargs_handlers=[ddp_kwargs])
代码中删除所有的.cuda() 或者to(device),损失函数的可能不需要删除。因为我删了报错了。。。具体原因目前未知。
单机单卡训练
单机多卡
单机单卡多卡切换
直接看这个大哥的博客就可以
https://blog.csdn.net/zjc910997316/article/details/134642194?ops_request_misc=&request_id=&biz_id=102&utm_term=accelerate%20config%E5%A6%82%E4%BD%95%E6%97%A2%E5%8F%AF%E4%BB%A5%E5%8D%95%E5%8D%A1%E5%8F%88%E5%8F%AF%E4%BB%A5%E5%8F%8C%E5%8D%A1&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-134642194.142^v100^pc_search_result_base9&spm=1018.2226.3001.4187