我在同一图像上尝试了 vgg16 和 mobilenet v2 预训练模型(输入大小 = 224)。 vgg16(6ms) 的推理时间比 mobilenet v2(12ms) 短。我认为 mobilenet 应该比 vgg 快得多。有没有人对此有想法?谢谢。这是我的代码
import torch
import cv2
from torchvision import transforms
import time
if __name__ == "__main__":
model_mobile = torch.hub.load('pytorch/vision:v0.9.0', 'mobilenet_v2', pretrained=True)
model_mobile.eval()
model_mobile.cuda()
model_vgg = torch.hub.load('pytorch/vision:v0.9.0', 'vgg16', pretrained=True)
model_vgg.eval()
model_vgg.cuda()
preprocess = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
im = cv2.imread('1.jpg')
im = preprocess(im)
im = im.unsqueeze(0)
im = im.cuda()
result_mobile = model_mobile(im)
t1 = time.time()
result_mobile = model_mobile(im)
t2 = time.time()
result_vgg = model_vgg(im)
t3= time.time()
print("mobilenet time = {:.3f}".format(t2-t1))
print("vgg time = {:.3f}".format(t3-t2))