class_docstr: SqueezeNet model from the `"SqueezeNet: AlexNet-level accuracy with 50x fewer parameters
  and <0.5MB model size" <https://arxiv.org/abs/1602.07360>`_ paper.
  SqueezeNet 1.1 model from the `official SqueezeNet repo
  <https://github.com/DeepScale/SqueezeNet/tree/master/SqueezeNet_v1.1>`_.
  SqueezeNet 1.1 has 2.4x less computation and slightly fewer parameters
  than SqueezeNet 1.0, without sacrificing accuracy.
  
  Parameters
  ----------
  version : str
      Version of squeezenet. Options are '1.0', '1.1'.
  classes : int, default 1000
      Number of classification classes.
class_docstr_tok: ["SqueezeNet","model","from","the","`","``","SqueezeNet",":","AlexNet-level","accuracy","with","50x","fewer","parameters","and","<","0.5MB","model","size","''","<","https",":","\/\/arxiv.org\/abs\/1602.07360",">","`","_","paper",".","SqueezeNet","1.1","model","from","the","`","official","SqueezeNet","repo","<","https",":","\/\/github.com\/DeepScale\/SqueezeNet\/tree\/master\/SqueezeNet_v1.1",">","`","_",".","SqueezeNet","1.1","has","2.4x","less","computation","and","slightly","fewer","parameters","than","SqueezeNet","1.0",",","without","sacrificing","accuracy",".","Parameters","--","--","--","--","--","version",":","str","Version","of","squeezenet",".","Options","are","'","1.0","'",",","'","1.1","'",".","classes",":","int",",","default","1000","Number","of","classification","classes","."]
code: def __init__(self, version, classes=1000, **kwargs):
      super(SqueezeNet, self).__init__(**kwargs)
      assert version in ["1.0", "1.1"], (
          "Unsupported SqueezeNet version {version}:"
          "1.0 or 1.1 expected".format(version=version)
      )
      with self.name_scope():
          self.features = nn.HybridSequential(prefix="")
          if version == "1.0":
              self.features.add(nn.Conv2D(96, kernel_size=7, strides=2))
              self.features.add(nn.Activation("relu"))
              self.features.add(
                  nn.MaxPool2D(pool_size=3, strides=2, ceil_mode=True)
              )
              self.features.add(_make_fire(16, 64, 64))
              self.features.add(_make_fire(16, 64, 64))
              self.features.add(_make_fire(32, 128, 128))
              self.features.add(
                  nn.MaxPool2D(pool_size=3, strides=2, ceil_mode=True)
              )
              self.features.add(_make_fire(32, 128, 128))
              self.features.add(_make_fire(48, 192, 192))
              self.features.add(_make_fire(48, 192, 192))
              self.features.add(_make_fire(64, 256, 256))
              self.features.add(
                  nn.MaxPool2D(pool_size=3, strides=2, ceil_mode=True)
              )
              self.features.add(_make_fire(64, 256, 256))
          else:
              self.features.add(nn.Conv2D(64, kernel_size=3, strides=2))
              self.features.add(nn.Activation("relu"))
              self.features.add(
                  nn.MaxPool2D(pool_size=3, strides=2, ceil_mode=True)
              )
              self.features.add(_make_fire(16, 64, 64))
              self.features.add(_make_fire(16, 64, 64))
              self.features.add(
                  nn.MaxPool2D(pool_size=3, strides=2, ceil_mode=True)
              )
              self.features.add(_make_fire(32, 128, 128))
              self.features.add(_make_fire(32, 128, 128))
              self.features.add(
                  nn.MaxPool2D(pool_size=3, strides=2, ceil_mode=True)
              )
              self.features.add(_make_fire(48, 192, 192))
              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.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())
  
file_path: gluon-cv/gluoncv/model_zoo/squeezenet.py
imports: from mxnet.context import cpu
  from mxnet.gluon.block import HybridBlock
  from mxnet.gluon import nn
  from mxnet.gluon.contrib.nn import HybridConcurrent
label_desc: Use image node_id 1 to create a new SqueezeNet object from inherited base classes: HybridBlock with example: obj = SqueezeNet(version, classes)