难道不是参数越少,模型越小,测试时占用的显存资源会更少么?

同理,相同的图片输入大小,VGG16有1.38亿个参数,ResNet200有6000万个参数,是不是ResNet200测试时占用的显存会是VGG16的一半?
已邀请:

joshua_1988 - https://joshua19881228.github.io/

赞同来自: moyan 墨子浅心

不一定,除了网络的参数,caffe各层的输入和输出都是要占用显存的。

比如一段网络是input->pool->conv->output,输入为5*5*256,pool的stride为2,conv的pad为1,kernel为3*3,输出output为512个channel,那所占显存大致为5*5*256+3*3*256+3*3*512+256*3*3*512。其中5*5*256+3*3*256+3*3*512为输入输出占用的显存,参数占用显存为256*3*3*512

另一段网络是input->conv->output,各项参数与上一段网络一致,那么显存大致为5*5*256+5*5*512+256*3*3*512。其中5*5*256+5*5*512为输入输出所占用显存,参数占用显存为256*3*3*512。

这两段网络的参数个数一样,但是显存不一样

要回复问题请先登录注册