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

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"])
相关推荐
君名余曰正则2 分钟前
机器学习08——集成学习(Boosting、Bagging、结合策略)
人工智能·机器学习·集成学习
小鑫同学9 分钟前
M4 MacBook Pro + Qwen 模型:企业问答机器人原型微调实战方案
人工智能·llm
搬砖的小码农_Sky19 分钟前
机器人商业化落地需要突破的关键性技术
人工智能·ai·机器人
luoganttcc19 分钟前
PyTorch 中nn.Embedding
pytorch·深度学习·embedding
xwz小王子21 分钟前
Science Robotics 封面论文:RoboBallet利用图神经网络和强化学习规划多机器人协作
人工智能·神经网络·机器人
Deepoch24 分钟前
当按摩机器人“活了”:Deepoc具身智能如何重新定义人机交互体验
人工智能·科技·机器人·人机交互·具身智能
37手游后端团队25 分钟前
Cursor实战:用Cursor实现积分商城系统
人工智能·后端
九章云极AladdinEdu30 分钟前
绿色算力技术栈:AI集群功耗建模与动态调频系统
人工智能·pytorch·深度学习·unity·游戏引擎·transformer·gpu算力
嘀咕博客42 分钟前
拍我AI:PixVerse国内版,爱诗科技推出的AI视频生成平台
人工智能·科技·音视频·ai工具
dlraba80243 分钟前
OpenCV 实战:多角度模板匹配实现图像目标精准定位
人工智能·opencv·计算机视觉