MaybeShewill-CV / attentive-gan-derainnet

Unofficial tensorflow implemention of "Attentive Generative Adversarial Network for Raindrop Removal from A Single Image (CVPR 2018) " model https://maybeshewill-cv.github.io/attentive-gan-derainnet/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

训练速度问题

MoyangSensei opened this issue · comments

作者你好。我想问一下我这个每一轮的训练时间对吗?

屏幕快照 2020-04-30 00 52 30

如果是20s一轮这个速度的话,10万轮根本不是短时间能解决的。

所以想问一下如何提高训练速度?还是说我这边的配置什么的会影响训练速度?

软件配置基本都按照给出的来配,tf和numpy的版本较高一点。设置文件里我讲gpu数从2改成了4,多线程数从6改到了8,我不知道这是否有影响。

@MoyangSensei 正常来讲不应该这么慢,但是我这边只实验过2卡的情况。4卡的话算平均梯度的时候会慢一点,但是是不是能慢到20s一个iter我不能确定。如果你确认你的gpu是正常使用的,然后cudnn也正常那就只能等着了。顺便说下如果你的batch size比较大的话可以适当减小迭代的次数,增大一点学习率:)

@MoyangSensei 正常来讲不应该这么慢,但是我这边只实验过2卡的情况。4卡的话算平均梯度的时候会慢一点,但是是不是能慢到20s一个iter我不能确定。如果你确认你的gpu是正常使用的,然后cudnn也正常那就只能等着了。顺便说下如果你的batch size比较大的话可以适当减小迭代的次数,增大一点学习率:)

1、实际上我并不知道如何确认我在运行代码的时候GPU是不是在正常运行。所以我也怀疑是GPU的问题。如果GPU不进行工作的话,代码还能正常运行吗?还有我注意到了在我运行的过程中报了这样一段warning,或者说这也是影响之一(我并没有百度到这个warning到底是什么影响)?

屏幕快照 2020-04-30 16 19 52

2、昨天晚上发现了速度慢之后,我尝试调整了图片集合的大小。原train中有861张图片,我选取了三分之一的图片数量,运行了代码大概10小时左右,仅仅只有1100轮。发现这每一轮的时间最长甚至达到了60s。按理来说缩小了图片集,训练时间会显著下降。

3、batch size、学习率都没做修改(1,0.002)。我会尝试修改再去运行。

谢谢。

上面图片中的信息。

I0430 04:19:32.423439 27312 train_model.py:250] {'TRAIN': {'EPOCHS': 100010, 'LEARNING_RATE': 0.0002, 'GPU_MEMORY_FRACTION': 0.98, 'TF_ALLOW_GROWTH': True, 'BATCH_SIZE': 1, 'IMG_HEIGHT': 256, 'IMG_WIDTH': 376, 'CROP_IMG_HEIGHT': 240, 'CROP_IMG_WIDTH': 360, 'CPU_MULTI_PROCESS_NUMS': 8, 'GPU_NUM': 4}, 'TEST': {'GPU_MEMORY_FRACTION': 0.9, 'TF_ALLOW_GROWTH': False, 'BATCH_SIZE': 1, 'IMG_HEIGHT': 240, 'IMG_WIDTH': 360}}
I0430 04:19:32.423691 27312 train_model.py:254] Training from scratch
2020-04-30 04:19:33.421531: W tensorflow/compiler/jit/mark_for_compilation_pass.cc:1412] (One-time warning): Not using XLA:CPU for cluster because envvar TF_XLA_FLAGS=--tf_xla_cpu_global_jit was not set. If you want XLA:CPU, either set that envvar, or use experimental_jit_scope to enable XLA:CPU. To confirm that XLA is active, pass --vmodule=xla_compilation_cache=1 (as a proper command-line flag, not via TF_XLA_FLAGS) or set the envvar XLA_FLAGS=--xla_hlo_profile.

@MoyangSensei 最简单就是nvidia-smi 看下你的gpu utilization是否一直是0

@MoyangSensei 最简单就是nvidia-smi 看下你的gpu utilization是否一直是0

这几天再次搞了下环境,确实是我的GPU没有正常工作,正常情况下,bs写1的时候0.4s一轮,bs写2的时候0.8s一轮。

顺便想问一下作者,能否提供一些提高结果的思路,就是那两个指标psnr和ssim。我这边在做本科生毕设,想做一下参考。

十分感谢。

@MoyangSensei 去雨每年都有很多论文 你可以多关注下学术论文哈:)