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

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

tensor.to("cuda")

2、
在这里插入图片描述解决方法:减小batch size的大小或减小图片的尺寸
3、

在这里插入图片描述原始的代码如下:

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

原因:因为只有一块GPU,以上代码是多GPU使用的
解决方法:改为以下单GPU代码:

        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、在这里插入图片描述原始代码:

base_net.load_state_dict(torch.load(pretrain_model, map_location='cpu'))

原因:模型参数文件是保存在了state_dict中,所以后面要加
解决方法:改成以下代码:

base_net.load_state_dict(torch.load(pretrain_model, map_location='cpu')["state_dict"])

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 02:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 02:54:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 02:54:02       82 阅读
  4. Python语言-面向对象

    2023-12-07 02:54:02       91 阅读

热门阅读

  1. 大数据基础设施搭建 - Maxwell

    2023-12-07 02:54:02       41 阅读
  2. DAPP开发【11】IPFS星际文件管理系统

    2023-12-07 02:54:02       51 阅读
  3. Topic和Partition

    2023-12-07 02:54:02       57 阅读
  4. FFmpeg视频缩略图与图像转换接口分析

    2023-12-07 02:54:02       51 阅读
  5. 重叠AMR的应用及编程实现

    2023-12-07 02:54:02       52 阅读
  6. MySQL - 索引类型详解

    2023-12-07 02:54:02       57 阅读
  7. 前端新趋势?有了Web Component,还在纠结vue或react

    2023-12-07 02:54:02       52 阅读
  8. Django大回顾 - 8 中间件、csrf认证相关

    2023-12-07 02:54:02       46 阅读
  9. Android Camera2使用

    2023-12-07 02:54:02       41 阅读