笔者在训练模型的时候,突然偶遇这个问题,即训练一个epoch时,模型不能接着训练,只能通过Ctrl+C强制性暂停,见下图:

Ctrl+C之后呈现的信息表明,这个bug是和多线程有关系

经过笔者实验,目前有三种可靠的解决方式

1).Dataloader里面不用cv2.imread进行读取图片,用cv2.imread还会带来一系列的不方便,比如不能结合torchvision进行数据增强,所以最好用PIL 里面的Image.open来读图片

2).将DataLoader 里面的参变量num_workers设置为0,但会导致数据的读取很慢,拖慢整个模型的训练

3).如果用了cv2.imread,也懒得改了,那就加两条语句,来关闭Opencv的多线程:cv2.setNumThreads(0)和cv2.ocl.setUseOpenCL(False)。加了这两条语句之后,并不影响模型的训练速度,根据笔者观察,速度相反还变快了,真神奇呀。

综上所述:如果遇到此问题,建议选择方法1和方法3来解决这个问题,因为不影响模型训练速度。

在PyTorch训练一个epoch时,模型不能接着训练,Dataloader卡死相关推荐

  1. Pytorch基础训练库Pytorch-Base-Trainer(支持模型剪枝 分布式训练)

    Pytorch基础训练库Pytorch-Base-Trainer(支持模型剪枝 分布式训练) 目录 Pytorch基础训练库Pytorch-Base-Trainer(PBT)(支持分布式训练) 1.I ...

  2. Pytorch实现一个简单分类模型

    Pytorch实现一个简单分类模型 在本小节主要带领大家学习分类任务的代码编写,另外,本人参考的学习资料为[莫烦Python],有兴趣观看视频的同学可以观看视频资料https://www.youtub ...

  3. NLP:训练一个中文问答模型Ⅰ

    训练一个中文问答模型I-Step by Step   本文基于经典的NMT架构(Seq2Seq+Attention),训练了一个中文问答模型,把问题到答案之间的映射看作是问题到答案的翻译.基于Tens ...

  4. NLP:训练一个中文问答模型Ⅱ

    训练一个中文问答模型Ⅱ-Step by Step   接上一篇 中文问答模型Ⅰ基于这次仍是基于NMT架构训练,但是把Seq2Seq替换为Transformer架构,还有一点不同是,本次没有采用分词训练 ...

  5. 如何从头训练一个一键抠图模型

    如何从头训练一个一键抠图模型 1. 前言 抠图是图像编辑的基础功能之一,在抠图的基础上可以发展出很多有意思的玩法和特效.比如一键更换背景.一键任务卡通化.一键人物素描化等.正是因为这些有意思的玩法,C ...

  6. pascal行人voc_在一个很小的Pascal VOC数据集上训练一个实例分割模型

    只使用1349张图像训练Mask-RCNN,有代码. 代码:https://github.com/kayoyin/tiny-inst-segmentation 介绍 计算机视觉的进步带来了许多有前途的 ...

  7. 快速入门PyTorch(3)--训练一个图片分类器和多 GPUs 训练

    2019 第 44 篇,总第 68 篇文章 本文大约14000字,建议收藏阅读 快速入门 PyTorch 教程前两篇文章: 快速入门Pytorch(1)--安装.张量以及梯度 快速入门PyTorch( ...

  8. 使用Pytorch构建一个分类器(CIFAR10模型)

    分类器任务和数据介绍 ·构建一个将不同图像进行分类的神经网络分类器,对输入的的图片进行判别并完成分类. ·本案例采用CIFAR10数据集作为原始图片数据 ·CIFAR10数据集介绍:数据集中每张图片的 ...

  9. 深度学习Tensorflow的坑(二:训练一个epoch卡住不动,程序不终止也不继续)

    第一篇 承接上文 在搭载好环境之后,满心欢喜准备搭载模型的绘图(损失曲线.验证精度)功能,我就先使用10个epoch跑一下,结果. 它卡在199/200了!之前从没遇到过这个情况. 先看控制台报错,说 ...

最新文章

  1. 使用Linux进行缓冲区溢出实验的配置记录
  2. 同一台服务器上面安装多个mysql数据库
  3. M8100-Table T169P: entry 1510 does not exist
  4. eclipse输入中文为繁体字
  5. 如何构建Android MVVM 应用框架
  6. spring boot分层_只需5分钟即可启动并运行分层架构:: Spring Boot第1部分
  7. 2020-2021网络游戏行业人才招聘报告
  8. Visual Studio 2019 16.6 Preview 2 发布
  9. 翻转链表python递归_Python LeetCode-206.反转链表(难度-简单) 两个方法-迭代和递归,以及超简写法(python)...
  10. MAC安装向日葵软件步骤
  11. error.flash download failed-Target DLL has been cancelled
  12. 工行u盾显示316_工行U盾无法被电脑识别(方法全集)
  13. frida hook svc调用
  14. Error:403 No valid crumb was included in the request
  15. 计算机图形学直线线型实验报告,计算机图形学实验报告-直线中点bresenham算法的实现资料.doc...
  16. Linux热潮下,来呆猫云工作站玩转云上部署Linux工作流新思路
  17. 2019区块链概念股龙头
  18. Linux打印口/LPT口出厂测试工具与使用说明
  19. Hexo+NexT 如何取消下划线
  20. 支付宝 android 指纹支付,指纹支付教程放出!支付宝支持指纹支付!

热门文章

  1. 数据分析常用的Excel函数合集
  2. transform改变图片大小以及位置
  3. 如何切换到root用户
  4. 银河麒麟系统开启root用户登录
  5. 西门子em235模块的功能_多图细讲,模拟量模块与变送器的接线
  6. 小论电阻1(电阻的参数)
  7. Neo4j3.5学习笔记——Traversal遍历之黑客帝国
  8. python wxpython菜鸟教程_wxpython新手向教程
  9. Flink源码剖析:回撤流
  10. Android studio 渐变色,android shape 之渐变色角度理解