VGG 16/19 运行时间慢

VGG 16/19 Slow Runtimes

当我尝试使用带有 Python(2.7 和 3.5)的 Caffe 从预训练的 VGG 16/19 模型中获取输出时,它在 net.forward() 上花费了超过 15 秒步骤(在我的笔记本电脑上 CPU)。

我想知道是否有人可以告诉我为什么会这样,就像许多其他模型(即 ResNet、AlexNet)一样,我会在瞬间得到一个输出,这是我找到的唯一模型到目前为止,表现很差。

我使用的代码如下:

img = cv2.imread(path + img_name + '.jpg')
img = transform_img(img,224,224) #Resizes image.
net = caffe.Net(model_prototxt,model_trained,caffe.TEST)
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_transpose('data', (2,0,1))
net.blobs['data'].data[...] = transformer.preprocess('data', img)
start = timer()
out = net.forward()
end = timer()
print('Runtime: ' + "{0:.2f}".format(end-start) + 's')

抱歉,这可能是一个非常菜鸟的问题,在此先感谢所有花时间回答的人。

VGG-19 比它的前辈慢很多。请记住,ILSVRC 竞赛的指标是准确性(前 1 / 前 5),与训练时间无关。在一周内训练并获得 95.2% 准确率的模型胜过在 2 小时内训练并获得 95.1% 准确率的模型。

计算能力继续逼近摩尔定律,所以我们可以自由地开发算法,再多几倍就不会实时实用了。现在一周的火车,五年后不到一天。

一般来说,较早的模型比较晚的模型训练得更快,但准确性较低。这适用于 AlexNet、GoogleNet v1、GoogleNet v2、ResNet 和 VGG。 VGG 有 巨大 下降:拓扑创新使其更准确严重 降低了训练速度。