def test_resnet50_export(batch_size=1, num_classes=5): context.set_context(enable_ir_fusion=False) input_np = np.random.uniform(0.0, 1.0, size=[batch_size, 3, 224, 224]).astype(np.float32) net = resnet50(batch_size, num_classes) #param_dict = load_checkpoint("./resnet50-1_103.ckpt") #load_param_into_net(net, param_dict) export(net, Tensor(input_np), file_name="./me_resnet50.pb", file_format="GEIR")
def test_resnet50_export(batch_size=1, num_classes=5): input_np = np.random.uniform(0.0, 1.0, size=[batch_size, 3, 224, 224]).astype(np.float32) net = resnet50(batch_size, num_classes) export(net, Tensor(input_np), file_name="./me_resnet50.pb", file_format="GEIR")
def get_model(dataset, framework='pytorch'): if dataset == 'mnist_fashion': return model_mnistfashion(framework) elif dataset == 'cifar10': return model_cifar10(framework) elif dataset == 'cifar100': return resnet34(framework, num_classes=100, input_shape=(32, 32, 3), dataset=dataset) elif dataset == 'food101N': return resnet50(framework, num_classes=101, input_shape=(224, 224, 3), dataset=dataset) elif dataset == 'clothing1M' or dataset == 'clothing1M50k' or dataset == 'clothing1Mbalanced': return resnet50(framework, num_classes=14, input_shape=(224, 224, 3), dataset=dataset)
def resnet50(framework, num_classes, input_shape, dataset): import os if framework == 'pytorch': import torch from torch import nn from resnet_torch import resnet50 try: net = resnet50(pretrained=True) except: net = resnet50(pretrained=False) net.load_state_dict(torch.load('resnet50.pt')) net.fc = nn.Linear(2048, num_classes) return net elif framework == 'tensorflow': import tensorflow as tf #from resnet50 import ResNet50 model = tf.keras.applications.resnet.ResNet50(include_top=False, weights='imagenet', input_shape=(224, 224, 3), pooling='avg') output = tf.keras.layers.Dense(num_classes)(model.layers[-1].output) return tf.keras.models.Model(model.input, outputs=output)