去雨去雪去雾算法本地实验速度对比
  gpLnA9Ilm5Ka 2023年11月02日 26 0


在进行去雨去雪去雾算法的实验过程中,博主使用自己的电脑进行实验,尽管能够成功运行,但速度却属实不尽人意,博主的笔记本显卡是GTX960,显存为4G,在进行实验的过程中,batch-size只能设置为3,好在实验的去噪类型也就只与三种,否则这实验根本无法进行,于是,便萌生了更换笔记本的念头,那么在更换前,就要先做下相关实验,看看性能能够提升多少。

首先记录一下博主在GTX960M上的实验情况:

GTX960M实验情况

去雨去雪去雾算法本地实验速度对比_人工智能

显存占用

去雨去雪去雾算法本地实验速度对比_人工智能_02

实验用时

训练一个epoch的实验用时:

去雨去雪去雾算法本地实验速度对比_数据_03


可以看到时间大约在15分钟左右。

每训练5个epoch进行一次评估:

去雨去雪去雾算法本地实验速度对比_数据_04

属实是太慢了,用时31分钟,而且从结果来看,PSNR与SSIM竟然有些许差距,这才是最严重的,当然这并不是最终结果。

RTX3070实验情况

博主的实验配置为GTX3070(笔记本的哈),显存为8G。那么博主的batch-size就可以调大了,先前在GTX960M时的batch-size为3,若是调整为4则会提示算力不足,而在这里可以将其设置的更大,博主设置batch-size=6。

去雨去雪去雾算法本地实验速度对比_主线程_05

显存占用

batch-size=6时的显存占用情况:

去雨去雪去雾算法本地实验速度对比_数据集_06

实验用时

训练一个epoch的实验用时:

去雨去雪去雾算法本地实验速度对比_数据_07

评估一个epoch的时间:用时不到6分钟,相比GTX960提升简直不要太大。

去雨去雪去雾算法本地实验速度对比_数据集_08

关于num_workers

此外,值得注意的是,这里的num_workers博主设置为0,因为先前在服务器上运行时发现num_workers不为0的话会报错,这是程序的问题了,为了避免意外,还是老老实实的设置为0吧。

  1. GPU是由CPU发送指令和数据来执行计算任务的。在GPU中,线程是由CPU分配的,并且从CPU获取它们需要处理的数据。GPU本身没有能力添加线程或获取数据,它只能按照CPU给定的指令和数据执行计算任务。因此,送数据是由CPU的主线程负责送的。
    2.num_workers=0,CPU不分配额外线程,只有一个主线程,负责将数据送到RAM后再将数据送到GPU.
    3.num_works=1时,CPU分配一个单独线程专门负责将数据送到RAM,主线程专门负责将数据送到GPU

尽管将其设置的大一些可以提高,但按理说这种情况是不该出现的,这本身就是数据集加载时的问题,因此为了实验严谨,博主在3070的那台电脑上进行了实验,博主首先将num_workers设置为1。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
gpLnA9Ilm5Ka