def squeezenetmxnetload():
    net = vision.squeezenet1_1(pretrained=True)
    net.hybridize()
    return net
#     print(data.shape)
#     data = mx.nd.transpose(data, (1,2,0))
#     plt.imshow(data.astype(np.uint8).asnumpy())
#     plt.show()
#     import ipdb; ipdb.set_trace()
#     if label == 0:
#         print("Forward")
#     else:
#         print("Backward")
#     if i == 20:
#         break

from mxnet.gluon.model_zoo import vision as models
# lets use a pretrained squeezenet, this a model known for being decently good accuracy at a low computational cost
squeezenet = models.squeezenet1_1(pretrained=True,
                                  prefix="direction_",
                                  ctx=ctx)

# create a new copy of squeezenet, this time though only have 2 output classes (hotdog or not hotdog)
dognet = models.squeezenet1_1(classes=2, prefix="direction_")
dognet.collect_params().initialize(ctx=ctx)

# use the the features chunk of squeezenet, only leave the output untouched
dognet.features = squeezenet.features

# in the trainer, specify that we only want to update the output chunk of dognet
trainer = gluon.Trainer(dognet.output.collect_params(), 'sgd',
                        {'learning_rate': .01})
loss = gluon.loss.SoftmaxCrossEntropyLoss()

Exemple #3
0
##################
# Hyperparameter #
#----------------#
ctx = mx.cpu()
lr=0.05
epochs=10
momentum=0.9
batch_size=64
#----------------#
# Hyperparameter #
##################

################## model
from mxnet.gluon.model_zoo import vision
net = vision.squeezenet1_1(classes=10, pretrained=False, ctx=ctx)
# net = vision.squeezenet1_0(classes=10, pretrained=False, ctx=ctx)


################## 그래프
import gluoncv
inputShape = (1,3,224,224)
gluoncv.utils.viz.plot_network(net, shape=inputShape)


##### 전처리 ##############################################
def transformer(data, label):
    data = mx.image.imresize(data, 224, 224)
    data = mx.nd.transpose(data, (2, 0, 1))
    data = data.astype(np.float32)
    return data, label
Exemple #4
0
                                   rand_crop=True,
                                   shuffle=True,
                                   batch_size=batch_size,
                                   max_random_scale=1.5,
                                   min_random_scale=0.75,
                                   rand_mirror=True)
val_iter = mx.io.ImageRecordIter(path_imgrec=validation_dataset,
                                 min_img_size=256,
                                 data_shape=(3, 224, 224),
                                 batch_size=batch_size)

from mxnet.gluon import nn
from mxnet.gluon.model_zoo import vision as models
from mxnet.gluon import nn
# get pretrained squeezenet
net = models.squeezenet1_1(pretrained=True, prefix='mask_', ctx=contexts)
with net.name_scope():
    net.output = nn.HybridSequential()
    net.output.add(
        nn.Conv2D(2, in_channels=512, kernel_size=(1, 1), strides=(1, 1)))
    net.output.add(nn.Activation('relu'))
    net.output.add(nn.AvgPool2D(pool_size=(13, 13), strides=(13, 13)))
    net.output.add(nn.Flatten())
    net.output.initialize(ctx=contexts)

print(net)


def metric_str(names, accs):
    return ', '.join(['%s=%f' % (name, acc) for name, acc in zip(names, accs)])
Exemple #5
0
                                   data_shape=(3, 224, 224),
                                   rand_crop=True,
                                   shuffle=True,
                                   batch_size=batch_size,
                                   max_random_scale=1.5,
                                   min_random_scale=0.75,
                                   rand_mirror=True)
val_iter = mx.io.ImageRecordIter(path_imgrec=validation_dataset,
                                 min_img_size=256,
                                 data_shape=(3, 224, 224),
                                 batch_size=batch_size)

from mxnet.gluon import nn
from mxnet.gluon.model_zoo import vision as models

net = models.squeezenet1_1(pretrained=True, prefix='rejector_', ctx=ctx)

rejector_net = models.squeezenet1_1(prefix='rejector_', classes=3)
rejector_net.collect_params().initialize(ctx=ctx)
rejector_net.features = net.features


# return metrics string representation
def metric_str(names, accs):
    return ', '.join(['%s=%f' % (name, acc) for name, acc in zip(names, accs)])


metric = mx.metric.create(['acc'])

import mxnet.gluon as gluon
from mxnet.image import color_normalize