RuntimeError: [enforce fail at inline_container.cc:145] 【报错总结】
磁盘空间不足,导致训练过程中正在生成的模型保存失败,从而resume训练时,加载报错;可以解决我们训练中断(断电、磁盘空间不足)的问题,resume 训练即可;代码逻辑中要有 resume 训练的判断
🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连
🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
文章目录
情况一:磁盘空间不足,导致训练过程中正在生成的模型保存失败,从而resume训练时,加载报错
这个截图 是这个博主的分析,比较详细,就不再赘述了,本博文主要进一步记录遇到这种报错,可以采取的解决方法示例
Resume 训练 代码分析
在 Resume 训练时,通常需要修改的 命令 参数如下:
Resume 训练示例如下,节选自这篇博文 基于无监督退化表示学习的 Blind SR | 环境搭建 | 训练简记【更新补充】|【CVPR2021】
- 举这个示例,是因为,可以看到 这个代码的 Resume 训练,log 是可以接着按照你 start_epoch 的设置进行记录
训练过程,每隔固定次数,进行模型保存
这种训练,模型保存策略的优点:
- 可以解决我们训练中断(断电、磁盘空间不足)的问题,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
精选专栏
计算机视觉领域 八大专栏、不少干货、有兴趣可了解一下
- ❤️ 图像风格转换 —— 代码环境搭建 实战教程【关注即可阅】!
- 💜 图像修复-代码环境搭建-知识总结 实战教程 【据说还行】
- 💙 超分重建-代码环境搭建-知识总结 解秘如何让白月光更清晰【脱单神器】
- 💛 YOLO专栏,只有实战,不讲道理 图像分类【建议收藏】!
-
🍊 深度学习:环境搭建,一文读懂
-
🍊 深度学习:趣学深度学习
-
🍊 落地部署应用:模型部署之转换-加速-封装
-
🍊 CV 和 语音数据集:数据集整理
-
🍊 点赞 👍 收藏 ⭐留言 📝 都是博主坚持写作、更新高质量博文的最大动力!
更多推荐
所有评论(0)