深度学习-模型调试经验总结

1、
这句话的意思是:期望张量的后端处理是在cpu上,但是实际是在cuda上。排查代码发现,数据还在cpu上,但是模型已经转到cuda上,所以可以通过把数据转到cuda上解决。

解决代码:

python 复制代码
tensor.to("cuda")

2、
解决方法:减小batch size的大小或减小图片的尺寸

3、

原始的代码如下:

python 复制代码
torch.save(model.module.state_dict(), os.path.join(model_prefix, '{}-model.pth'.format(epoch)))

原因:因为只有一块GPU,以上代码是多GPU使用的

解决方法:改为以下单GPU代码:

python 复制代码
        meta = {}
        checkpoint = {"meta": meta, "state_dict": weights_to_cpu(model.state_dict())}
        if optimizer is not None:
            checkpoint["optimizer"] = optimizer.state_dict()
        torch.save(checkpoint, os.path.join(model_prefix, '{}-model.pth'.format(epoch)))

4、原始代码:

python 复制代码
base_net.load_state_dict(torch.load(pretrain_model, map_location='cpu'))

原因:模型参数文件是保存在了state_dict中,所以后面要加

解决方法:改成以下代码:

python 复制代码
base_net.load_state_dict(torch.load(pretrain_model, map_location='cpu')["state_dict"])
相关推荐
白小筠几秒前
自然语言处理-文本预处理
人工智能·自然语言处理·easyui
叶帆1 分钟前
【YFIOs】面向AI时代的工业物联基座-YFIOs 2.0
人工智能·物联网·yfios
丁当粑粑4 分钟前
LLM调参必知:max_tokens + stop参数详解
人工智能
摸鱼仙人~4 分钟前
AWQ:激活感知权重量化——让大语言模型更轻更快
人工智能·语言模型·自然语言处理
Maynor9964 分钟前
纸质书《OpenClaw超级个体实操手册》已上市!
人工智能·github·飞书
人工智能AI技术6 分钟前
当AI开始“接管客户经营“,CRM正在被重新发明
人工智能
高光视点15 分钟前
2026年App热更新技术选型指南:安全与效率的平衡
运维·人工智能·安全
zzb158018 分钟前
系统提示词-System Prompt 动态组装
人工智能·后端·python·prompt
Henrybit9336823 分钟前
如何构建高质量Skills?
人工智能·agent