模型中心
FReLU
FReLU
vision
classification
FReLU (ImageNet 预训练权重)
import megengine.hub
model = megengine.hub.load('megvii-model/funnelact', 'resnet50_frelu', pretrained=True)
# model = megengine.hub.load('megvii-model/funnelact', '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 | Activation | Top-1 err. |
---|---|---|
ResNet50 | ReLU | 24.0 |
ResNet50 | PReLU | 23.7 |
ResNet50 | Swish | 23.5 |
ResNet50 | FReLU | 22.4 |
ShuffleNetV2 0.5x | ReLU | 39.6 |
ShuffleNetV2 0.5x | PReLU | 39.1 |
ShuffleNetV2 0.5x | Swish | 38.7 |
ShuffleNetV2 0.5x | FReLU | 37.1 |
参考文献
- Funnel Activation for Visual Recognition, Ma, Ningning, et al. "Funnel Activation for Visual Recognition." Proceedings of the European Conference on Computer Vision (ECCV). 2020.