You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2017/10/27 23:39:13 UTC
[GitHub] piiswrong closed pull request #8446: rename and restructure model zoo models
piiswrong closed pull request #8446: rename and restructure model zoo models
URL: https://github.com/apache/incubator-mxnet/pull/8446
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/python/mxnet/gluon/model_zoo/vision/alexnet.py b/python/mxnet/gluon/model_zoo/vision/alexnet.py
index 884e531604..05669d054d 100644
--- a/python/mxnet/gluon/model_zoo/vision/alexnet.py
+++ b/python/mxnet/gluon/model_zoo/vision/alexnet.py
@@ -52,18 +52,16 @@ def __init__(self, classes=1000, **kwargs):
activation='relu'))
self.features.add(nn.MaxPool2D(pool_size=3, strides=2))
self.features.add(nn.Flatten())
+ self.features.add(nn.Dense(4096, activation='relu'))
+ self.features.add(nn.Dropout(0.5))
+ self.features.add(nn.Dense(4096, activation='relu'))
+ self.features.add(nn.Dropout(0.5))
- self.classifier = nn.HybridSequential(prefix='')
- with self.classifier.name_scope():
- self.classifier.add(nn.Dense(4096, activation='relu'))
- self.classifier.add(nn.Dropout(0.5))
- self.classifier.add(nn.Dense(4096, activation='relu'))
- self.classifier.add(nn.Dropout(0.5))
- self.classifier.add(nn.Dense(classes))
+ self.output = nn.Dense(classes)
def hybrid_forward(self, F, x):
x = self.features(x)
- x = self.classifier(x)
+ x = self.output(x)
return x
# Constructor
diff --git a/python/mxnet/gluon/model_zoo/vision/densenet.py b/python/mxnet/gluon/model_zoo/vision/densenet.py
index 82fb468d5e..16afb2d4e3 100644
--- a/python/mxnet/gluon/model_zoo/vision/densenet.py
+++ b/python/mxnet/gluon/model_zoo/vision/densenet.py
@@ -103,11 +103,11 @@ def __init__(self, num_init_features, growth_rate, block_config,
self.features.add(nn.AvgPool2D(pool_size=7))
self.features.add(nn.Flatten())
- self.classifier = nn.Dense(classes)
+ self.output = nn.Dense(classes)
def hybrid_forward(self, F, x):
x = self.features(x)
- x = self.classifier(x)
+ x = self.output(x)
return x
diff --git a/python/mxnet/gluon/model_zoo/vision/inception.py b/python/mxnet/gluon/model_zoo/vision/inception.py
index 632fefbe10..3ef0fb9e93 100644
--- a/python/mxnet/gluon/model_zoo/vision/inception.py
+++ b/python/mxnet/gluon/model_zoo/vision/inception.py
@@ -182,18 +182,17 @@ def __init__(self, classes=1000, **kwargs):
self.features.add(_make_C(160, 'C2_'))
self.features.add(_make_C(160, 'C3_'))
self.features.add(_make_C(192, 'C4_'))
+ self.features.add(_make_D('D_'))
+ self.features.add(_make_E('E1_'))
+ self.features.add(_make_E('E2_'))
+ self.features.add(nn.AvgPool2D(pool_size=8))
+ self.features.add(nn.Dropout(0.5))
- self.classifier = nn.HybridSequential(prefix='')
- self.classifier.add(_make_D('D_'))
- self.classifier.add(_make_E('E1_'))
- self.classifier.add(_make_E('E2_'))
- self.classifier.add(nn.AvgPool2D(pool_size=8))
- self.classifier.add(nn.Dropout(0.5))
- self.classifier.add(nn.Dense(classes))
+ self.output = nn.Dense(classes)
def hybrid_forward(self, F, x):
x = self.features(x)
- x = self.classifier(x)
+ x = self.output(x)
return x
# Constructor
diff --git a/python/mxnet/gluon/model_zoo/vision/mobilenet.py b/python/mxnet/gluon/model_zoo/vision/mobilenet.py
index 27b76da260..0ba0933209 100644
--- a/python/mxnet/gluon/model_zoo/vision/mobilenet.py
+++ b/python/mxnet/gluon/model_zoo/vision/mobilenet.py
@@ -65,13 +65,11 @@ def __init__(self, multiplier=1.0, classes=1000, **kwargs):
self.features.add(nn.GlobalAvgPool2D())
self.features.add(nn.Flatten())
- self.classifier = nn.HybridSequential(prefix='')
- with self.classifier.name_scope():
- self.classifier.add(nn.Dense(classes))
+ self.output = nn.Dense(classes)
def hybrid_forward(self, F, x):
x = self.features(x)
- x = self.classifier(x)
+ x = self.output(x)
return x
# Constructor
diff --git a/python/mxnet/gluon/model_zoo/vision/resnet.py b/python/mxnet/gluon/model_zoo/vision/resnet.py
index c45b854bcb..f2c06c31b0 100644
--- a/python/mxnet/gluon/model_zoo/vision/resnet.py
+++ b/python/mxnet/gluon/model_zoo/vision/resnet.py
@@ -261,10 +261,9 @@ def __init__(self, block, layers, channels, classes=1000, thumbnail=False, **kwa
stride = 1 if i == 0 else 2
self.features.add(self._make_layer(block, num_layer, channels[i+1],
stride, i+1, in_channels=channels[i]))
+ self.features.add(nn.GlobalAvgPool2D())
- self.classifier = nn.HybridSequential(prefix='')
- self.classifier.add(nn.GlobalAvgPool2D())
- self.classifier.add(nn.Dense(classes, in_units=channels[-1]))
+ self.output = nn.Dense(classes, in_units=channels[-1])
def _make_layer(self, block, layers, channels, stride, stage_index, in_channels=0):
layer = nn.HybridSequential(prefix='stage%d_'%stage_index)
@@ -277,7 +276,7 @@ def _make_layer(self, block, layers, channels, stride, stage_index, in_channels=
def hybrid_forward(self, F, x):
x = self.features(x)
- x = self.classifier(x)
+ x = self.output(x)
return x
diff --git a/python/mxnet/gluon/model_zoo/vision/squeezenet.py b/python/mxnet/gluon/model_zoo/vision/squeezenet.py
index b9b038ce3d..60ef393f2e 100644
--- a/python/mxnet/gluon/model_zoo/vision/squeezenet.py
+++ b/python/mxnet/gluon/model_zoo/vision/squeezenet.py
@@ -93,17 +93,17 @@ def __init__(self, version, classes=1000, **kwargs):
self.features.add(_make_fire(48, 192, 192))
self.features.add(_make_fire(64, 256, 256))
self.features.add(_make_fire(64, 256, 256))
+ self.features.add(nn.Dropout(0.5))
- self.classifier = nn.HybridSequential(prefix='')
- self.classifier.add(nn.Dropout(0.5))
- self.classifier.add(nn.Conv2D(classes, kernel_size=1))
- self.classifier.add(nn.Activation('relu'))
- self.classifier.add(nn.AvgPool2D(13))
- self.classifier.add(nn.Flatten())
+ self.output = nn.HybridSequential(prefix='')
+ self.output.add(nn.Conv2D(classes, kernel_size=1))
+ self.output.add(nn.Activation('relu'))
+ self.output.add(nn.AvgPool2D(13))
+ self.output.add(nn.Flatten())
def hybrid_forward(self, F, x):
x = self.features(x)
- x = self.classifier(x)
+ x = self.output(x)
return x
# Constructor
diff --git a/python/mxnet/gluon/model_zoo/vision/vgg.py b/python/mxnet/gluon/model_zoo/vision/vgg.py
index 11269b59b4..c524e8e75e 100644
--- a/python/mxnet/gluon/model_zoo/vision/vgg.py
+++ b/python/mxnet/gluon/model_zoo/vision/vgg.py
@@ -50,18 +50,17 @@ def __init__(self, layers, filters, classes=1000, batch_norm=False, **kwargs):
assert len(layers) == len(filters)
with self.name_scope():
self.features = self._make_features(layers, filters, batch_norm)
- self.classifier = nn.HybridSequential(prefix='')
- self.classifier.add(nn.Dense(4096, activation='relu',
- weight_initializer='normal',
- bias_initializer='zeros'))
- self.classifier.add(nn.Dropout(rate=0.5))
- self.classifier.add(nn.Dense(4096, activation='relu',
- weight_initializer='normal',
- bias_initializer='zeros'))
- self.classifier.add(nn.Dropout(rate=0.5))
- self.classifier.add(nn.Dense(classes,
- weight_initializer='normal',
- bias_initializer='zeros'))
+ self.features.add(nn.Dense(4096, activation='relu',
+ weight_initializer='normal',
+ bias_initializer='zeros'))
+ self.features.add(nn.Dropout(rate=0.5))
+ self.features.add(nn.Dense(4096, activation='relu',
+ weight_initializer='normal',
+ bias_initializer='zeros'))
+ self.features.add(nn.Dropout(rate=0.5))
+ self.output = nn.Dense(classes,
+ weight_initializer='normal',
+ bias_initializer='zeros')
def _make_features(self, layers, filters, batch_norm):
featurizer = nn.HybridSequential(prefix='')
@@ -80,7 +79,7 @@ def _make_features(self, layers, filters, batch_norm):
def hybrid_forward(self, F, x):
x = self.features(x)
- x = self.classifier(x)
+ x = self.output(x)
return x
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services