技巧-PyCharm中Debug和Run对训练的影响和实验测试

简介

在训练深度学习模型时,使用PyCharm的Debug模式和Run模式对训练模型的耗时会有一些区别。
在这里插入图片描述Debug模式:Debug模式在训练模型时,会对每一行代码进行监视,这使得CPU的利用率相对较高。由于需要逐步执行、断点调试、查看变量值等操作,Debug模式会使得训练过程更加耗时。然而,这种模式对于调试模型和查找错误非常有帮助。
Run模式:Run模式在训练模型时,专注于执行训练过程,这使得GPU的利用率相对较高。由于不需要在运行时进行交互操作,Run模式的执行速度通常会比Debug模式快一些。然而,这种模式下无法进行逐步执行和断点调试等操作。
因此,Debug模式和Run模式对训练时间的影响主要体现在CPU和GPU的利用率上。具体哪种模式更有效,取决于你的需求:如果你需要调试模型和查找错误,Debug模式会更有帮助;如果你只需要快速训练模型并关注最终结果,Run模式会更加高效。

实测效果

我采用MMDetetion训练,它可以通过钩子函数统计每一iter的数据读取耗时(data_time)和总耗时(time)
其中data_time为数据读取,主要消耗cpu资源
time-data_time为模型训练,主要消耗gpu资源
当使用PyCharm的Debug模式时打印结果如下:
在这里插入图片描述当使用PyCharm的Run模式时打印结果如下:
在这里插入图片描述
实验结果表面,debug确实会增加cpu耗时,对gpu影响不大(time-data_time差不多)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229027.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【同步降压DC-DC】TLV62568 转换器

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大…

Nacos2.x配置中心源码分析

概述 源码注释参考 git 仓库,对应流程图后续补充; 启动 nacos nacos 启动类: // com.alibaba.nacos.NacosSpringBootApplication(scanBasePackages "com.alibaba.nacos") ServletComponentScan EnableScheduling public class…

在Visual Studio Code中安装加速TypeScript程序开发的插件

在Visual Studio Code中安装加速TypeScript程序开发的插件 Install Extensions on Visual Studio Code for TypeScript Application Development By Jackson 2023-11-28 众所周知,微软的Visual Studio Code是一款轻量级、功能强大的集成开发环境。它支持各种编程语…

SystemVerilog 入门

文章目录 包定义SystemVerilog 数据类型结构体 SystemVerilog 过程块可嵌套模块接口 System Verilog 的优点 提高了硬件建模能力、编码效率和抽象能力;RTL 级、系统级行为描述; 增强了验证能力和为大规模复杂设计编写有效、无竞争测试程序的断言功能&am…

webpack如何设置兼容浏览器的范围​browserslist

Browserslist 是前端工程化不可或缺的工具,无论是处理 js 的 babel 还是处理 css 的 postcss,他们背后都有Browserslist 的身影。 一、如何查看查看所有浏览器和它的市场占有率 我们如何知道现在的浏览器那些被废弃、那些市场占有率高,可以…

mysql 性能排查

mysql 下常见遇到的问题有,mysql连接池耗尽,死锁、慢查、未提交的事务。等等我们可能需要看;我们想要查看的可能有 1.当前连接池连接了哪些客户端,进行了哪些操作 2.当前造成死锁的语句有哪些,是哪个客户端上的&#x…

dcat admin日志扩展 dcat-log-viewer 遇到的问题记录

扩展地址: https://github.com/duolabmeng6/dcat-log-viewer 问题描述: 使用很简单,直接安装扩展包,开启扩展就可以了,会自动生成菜单。 之前在别的系统用过,没问题,今天在一个新的系统用的时…

肖sir__mysql之单表练习题2__(2)

mysql之单表练习题 一.建表语句 create table grade(class int(4),chinese int(8),english int(4),math int(8),name varchar(20),age int(8),sid int(4)primary key auto_increment) DEFAULT charsetutf8; insert into grade(class,chinese,english,math,name,age)values(1833…

导致Facebook广告投放不成功的原因

Facebook是全球最大的社交媒体平台之一,也是众多跨境卖家选择广告投放的首选平台,但也还是会有很多跨境卖家在Facebook上推广效果不佳。那么本文小编讲一下导致Facebook广告投放不成功的原因以及相应解决方法。 1、受众群体太少 Facebook有个要求就是广告…

Programming Abstractions in C阅读笔记:p202-p234

《Programming Abstractions in C》学习第65天,p202-p234总结。 一、技术总结 完成第五章学习,第五章介绍递归在实际问题中的进一步应用,例如汉诺塔问题,数学中的排列问题,更有难度。使用递归解决问题时有时候需要借…

业务建模工具BPMN

目录 一、什么是BPMN 二、业务流程梳理的重要作用 三、BPMN的全图 四、BPMN的组成 1.BPMN的基本元素(2.0) 1.1 流对象(Flow Objects) 1.2 数据(Data) 1.3 连接对象(Connecting Objects&a…

Leetcode—1670.设计前中后队列【中等】

2023每日刷题(四十三) Leetcode—1670.设计前中后队列 实现代码 erase(iterator position)在删除vector中的元素后,会将该元素的后面所有元素都往前挪一位。因此,原先的迭代器指向的元素就不是原来那个了,而是它的后…