print("classes: " + str(len(training_map))) net = mobilenet1_0(classes=len(training_map)) from mxnet import init net.features = pretrained_net.features net.output.initialize(init.Xavier()) from mxnet.image import color_normalize from mxnet import image train_augs = [ image.HorizontalFlipAug(0.5), image.BrightnessJitterAug(.3), image.HueJitterAug(.1) ] test_augs = [image.ResizeAug(224), image.CenterCropAug((224, 224))] def transform(data, label, augs): data = data.astype('float32') for aug in augs: data = aug(data) data = nd.transpose(data, (2, 0, 1)) return data, nd.array([label]).asscalar().astype('float32') from mxnet.gluon.data.vision import ImageRecordDataset train_rec = root + '/data/household/train/household.rec' validation_rec = root + '/data/household/validation/household.rec' test_rec = root + '/data/household/test/household.rec'
example: ipython classify_image.py ~/projects/images/pools/models/pools_n10.params 'pool' 'no pool' ''' # Dependencies import mxnet as mx from mxnet import image from mxnet.image import color_normalize import matplotlib.pyplot as plt from mxnet.gluon.model_zoo.vision import mobilenet1_0 import requests from io import BytesIO from mxnet import nd import sys # Global Constants ---- test_augs = [image.ResizeAug(224)] ctx = mx.cpu() # Functions ---- def predict(net, url, label1, label0, show_img=False): data = read_image(url) data = data.expand_dims(axis=0) data = color_normalize(data / 255, mean=nd.array([0.485, 0.456, 0.406]).reshape( (1, 3, 1, 1)), std=nd.array([0.229, 0.224, 0.225]).reshape( (1, 3, 1, 1))) out = softmax(net(data.as_in_context(mx.cpu()))) prediction = [label0, label1][int(nd.argmax(out, axis=1).asscalar())] print('Probability of {}: {}'.format(label1, out[0][1].asscalar()))
from mxnet.image import color_normalize from mxnet.gluon.model_zoo.vision import mobilenet1_0 from mxnet import image from mxnet import init from mxnet import gluon import time from mxnet import autograd from mxnet import nd from mxnet.gluon.data.vision import ImageRecordDataset # Global constants ---- ctx = mx.cpu() train_augs = [ image.ResizeAug(224), image.HorizontalFlipAug(0.5), # flip the image horizontally image.BrightnessJitterAug(.3), # randomly change the brightness image.HueJitterAug(.1) # randomly change hue ] test_augs = [ image.ResizeAug(224) ] # Functions ---- def transform(data, label, augs): # applies augmentations to img data data = data.astype('float32') for aug in augs: data = aug(data)