WeightNet
WeightNet
vision
classification
开发者: MegEngine Team
WeightNet - ShuffleNet V2(ImageNet 预训练权重)
import megengine.hub
model = megengine.hub.load('megvii-model/weightnet', 'shufflenet_v2_x0_5', pretrained=True)
model.eval()

所有预训练模型希望数据被正确预处理。 模型要求输入BGR的图片, 短边缩放到256, 并中心裁剪至(224 x 224)的大小,无需归一化处理。

下面是一段处理一张图片的样例代码。

# Download an example image from the megengine data website
import urllib
url, filename = ("https://data.megengine.org.cn/images/cat.jpg", "cat.jpg")
try: urllib.URLopener().retrieve(url, filename)
except: urllib.request.urlretrieve(url, filename)

# Read and pre-process the image
import cv2
import numpy as np
import megengine.data.transform as T
import megengine.functional as F

image = cv2.imread("cat.jpg").astype(np.float32)
transform = T.Compose([
    T.Resize(256),
    T.CenterCrop(224),
    T.ToMode("CHW"),
])
processed_img = transform.apply(image)[np.newaxis, :]  # CHW -> 1CHW
logits = model(processed_img)
probs = F.softmax(logits)
print(probs)

模型描述

目前我们提供了部分在ImageNet上的预训练模型(见下表),各个网络结构在ImageNet验证集上的表现如下:

Model #Params. FLOPs Top-1 err.
ShuffleNetV2 (0.5×) 1.4M 41M 39.7
+ WeightNet (1×) 1.5M 41M 36.7
ShuffleNetV2 (1.0×) 2.2M 138M 30.9
+ WeightNet (1×) 2.4M 139M 28.8
ShuffleNetV2 (1.5×) 3.5M 299M 27.4
+ WeightNet (1×) 3.9M 301M 25.6
ShuffleNetV2 (2.0×) 5.5M 557M 25.5
+ WeightNet (1×) 6.1M 562M 24.1
Model #Params. FLOPs Top-1 err.
ShuffleNetV2 (0.5×) 1.4M 41M 39.7
+ WeightNet (8×) 2.7M 42M 34.0
ShuffleNetV2 (1.0×) 2.2M 138M 30.9
+ WeightNet (4×) 5.1M 141M 27.6
ShuffleNetV2 (1.5×) 3.5M 299M 27.4
+ WeightNet (4×) 9.6M 307M 25.0
ShuffleNetV2 (2.0×) 5.5M 557M 25.5
+ WeightNet (4×) 18.1M 573M 23.5

参考文献