Example #1
0
def create_hub_bert(model_name, pretrained):
    assert model_name in MODEL_NAME, "{} not in the valid models {}".format(
        model_name, MODEL_NAME
    )
    data_dir = "./{}".format(model_name)
    if not os.path.exists(data_dir):
        os.makedirs(data_dir)

    vocab_url = "{}/{}/{}".format(DATA_URL, model_name, VOCAB_NAME)
    config_url = "{}/{}/{}".format(DATA_URL, model_name, CONFIG_NAME)

    vocab_file = "./{}/{}".format(model_name, VOCAB_NAME)
    config_file = "./{}/{}".format(model_name, CONFIG_NAME)

    download_file(vocab_url, vocab_file)
    download_file(config_url, config_file)

    config = BertConfig(config_file)

    model = hub.load("megengine/models", MODEL_NAME[model_name], pretrained=pretrained)

    return model, config, vocab_file
Example #2
0
import json

import numpy as np

import megengine as mge
import megengine.functional as F
import megengine.hub as hub
import megengine.optimizer as optim
from megengine.jit import trace

# 使用GPU运行这个例子
assert mge.is_cuda_available(), "Please run with GPU"
# 我们从 megengine hub 中加载一个 resnet50 模型。
resnet = hub.load("megengine/models", "resnet50")

optimizer = optim.SGD(resnet.parameters(), lr=0.1,)

# profiling=True 收集性能数据
@trace(symbolic=True, profiling=True)
def train_func(data, label, *, net, optimizer):
    pred = net(data)
    loss = F.cross_entropy_with_softmax(pred, label)
    optimizer.backward(loss)


resnet.train()
batch_size = 64

# 运行 10 次,保存最后一次的性能结果
for i in range(10):
    batch_data = np.random.randn(batch_size, 3, 224, 224).astype(np.float32)
Example #3
0
from megengine import hub
model = hub.load(
    "megengine/models",
    "retinanet_res50_1x_800size",
    pretrained=True,
)
model.eval()

models_api = hub.import_module(
    "megengine/models",
    git_host="github.com",
)

# 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
image = cv2.imread("cat.jpg")

data, im_info = models_api.DetEvaluator.process_inputs(image, 800, 1333)
model.inputs["image"].set_value(data)
model.inputs["im_info"].set_value(im_info)

from megengine import jit
@jit.trace(symbolic=True)
def infer():
    predictions = model(model.inputs)