求教FLOPs和显存的问题?
收藏
问题描述:搭建一个分类网络
原始参数 pram:20.5398 ,FLOPs:40.18G ,batch_size : 64
经深度可分离卷积后的参数 :param:7.4729 ,FLOP:13.06G , batch_size : 60
问题:1. 什么经过深度可分离卷积后, 参数和FLOPs减小了,但是占用的显存反而增大了,原来的 batchsize=64 ,会出现 GPU 显存不足的报错?
2. FLOPs 是不是 越小,网络训练的速度越快,耗费的时间越少?
3. 不太明白 GPU 显存 和 FLOPs 有啥关系?还是他们根本就没关系?
0
收藏
请登录后评论
一个是计算速度,一个是占用存储的大小,这没关系的吧?
网络结构是加载的框架,以前一个卷积只需要加载一个卷积的框架结构,用了分离卷积确实参数少了计算也少了。可是你加载的模块变多了啊,自然显存占用大了。 参数才能占用多少显存啊,
通道分离卷积是典型的低flops,高访存的操作,虽然可以降低params和flops但是会频繁的访存GPU,所以会增加GPU的负担,也就是说你的大部分GPU资源并没用用于计算而是被浪费在读写数据上