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

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"])
相关推荐
知舟不叙13 分钟前
深度学习——基于PyTorch的MNIST手写数字识别详解
人工智能·pytorch·深度学习·手写数字识别
Jamence17 分钟前
多模态大语言模型arxiv论文略读(118)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
愚农搬码20 分钟前
LangChain 调用不同类型的多MCP服务
人工智能·后端
AI速译官28 分钟前
字节跳动推出视频生成新模型Seedance
人工智能
chenquan1 小时前
ArkFlow 流处理引擎 0.4.0-rc1 发布
人工智能·后端·github
Se7en2581 小时前
使用 Higress AI 网关代理 vLLM 推理服务
人工智能
AI大模型技术社1 小时前
PyTorch手撕CNN:可视化卷积过程+ResNet18训练代码详解
人工智能·神经网络
CSTechEi2 小时前
【IEEE/EI/Scopus检索】2025年第六届模式识别与数据挖掘国际会议 (PRDM 2025)
人工智能·数据挖掘·模式识别·ei学术会议
明明跟你说过3 小时前
FastChat 架构拆解:打造类 ChatGPT 私有化部署解决方案的基石
人工智能·语言模型·chatgpt·openai
Listennnn3 小时前
Text2SQL、Text2API基础
数据库·人工智能