RuntimeError: [enforce fail at inline_container.cc:145] 【报错总结】

版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连
声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️

0-9

文章目录

    • 情况一:磁盘空间不足,导致训练过程中正在生成的模型保存失败,从而resume训练时,加载报错
        • Resume 训练 代码分析
        • 训练过程,每隔固定次数,进行模型保存
    • 情况二:模型在Copy、传输的时候数据丢失,复制不完整
    • 精选专栏

情况一:磁盘空间不足,导致训练过程中正在生成的模型保存失败,从而resume训练时,加载报错


这个截图 是这个博主的分析,比较详细,就不再赘述了,本博文主要进一步记录遇到这种报错,可以采取的解决方法示例

RuntimeError: [enforce fail at inline_container.cc:145] 【报错总结】_第1张图片

Resume 训练 代码分析

在 Resume 训练时,通常需要修改的 命令 参数如下:

RuntimeError: [enforce fail at inline_container.cc:145] 【报错总结】_第2张图片

Resume 训练示例如下,节选自这篇博文 基于无监督退化表示学习的 Blind SR | 环境搭建 | 训练简记【更新补充】|【CVPR2021】

  • 举这个示例,是因为,可以看到 这个代码的 Resume 训练,log 是可以接着按照你 start_epoch 的设置进行记录

RuntimeError: [enforce fail at inline_container.cc:145] 【报错总结】_第3张图片

训练过程,每隔固定次数,进行模型保存

这种训练,模型保存策略的优点:

  • 可以解决我们训练中断(断电、磁盘空间不足)的问题,resume 训练即可
  • 代码逻辑中要有 resume 训练的判断
  • 有很多训练任务,学习率是随着epoch动态调整的,这里学习率变化也需要有对应的逻辑

这种训练,模型保存策略的缺点:

  • 主要的一个缺点,模型如果比较大,频繁保存,会对磁盘空间消耗较大

  • 但是,如果模型是 GAN 网络模型,在一些特别任务的训练中,缺乏 定量 评价指标,需要多次保存不同 epoch 的中间生成模型,手动使用 测试集 进行效果评测

  • 举个例子:在风格迁移任务训练中,GAN 模型每次保存有 1.2 G 大小,训练代码中 缺乏 定量的评测指标,此时,我只能选择 每隔 N 次训练,保存一次模型;在一次训练任务中,我可能保存了 100 次,导致磁盘空间占用较大,这种情况,在工作中,要和同事说明、协商好磁盘空间的使用

情况二:模型在Copy、传输的时候数据丢失,复制不完整


这种情况通过检查模型大小,或者 md5sum 命令对比两个文件 可以用来 判断 两个文件是否是同一份


# md5sum  查看普通文件

md5sum Definitions.h 

9176014a7908ef9fe33b5f19fb0d2d10  Definitions.h

# md5sum  查看 so 库

md5sum  libopencv_core.so

523656f3490a0f732f66f2b8f2aabafc  libopencv_core.so


精选专栏


  • 深度学习模型训练推理——基础环境搭建推荐博文查阅顺序【基础安装—认真帮大家整理了】——【1024专刊】

计算机视觉领域 八大专栏、不少干货、有兴趣可了解一下

  • ❤️ 图像风格转换 —— 代码环境搭建 实战教程【关注即可阅】!
  • 图像修复-代码环境搭建-知识总结 实战教程 【据说还行】
  • 超分重建-代码环境搭建-知识总结 解秘如何让白月光更清晰【脱单神器】
  • YOLO专栏,只有实战,不讲道理 图像分类【建议收藏】!
  • 深度学习:环境搭建,一文读懂

  • 深度学习:趣学深度学习

  • 落地部署应用:模型部署之转换-加速-封装

  • CV 和 语音数据集:数据集整理

  • 点赞 收藏 ⭐留言 都是博主坚持写作、更新高质量博文的最大动力!

9-9

你可能感兴趣的:(Bug特攻队,深度学习,Bug排除,报错总结)