ó ùµÈ[c@sÜdZdddgZddlZddlmZdd lmZdd lmZdd l m Z dd lm Z d „Z dd„Z defd„ƒYZeeƒejje jƒdƒd„Zd„Zd„ZdS(s!SqueezeNet, implemented in Gluon.t SqueezeNett squeezenet1_0t squeezenet1_1iÿÿÿÿNi(tcpui(t HybridBlock(tnn(tHybridConcurrent(tbasecCs}tjddƒ}|jt|dƒƒtddddƒ}|jt|dƒƒ|jt|ddƒƒ|j|ƒ|S(Ntprefixtitaxisi(RtHybridSequentialtaddt_make_fire_convR(tsqueeze_channelstexpand1x1_channelstexpand3x3_channelstouttpaths((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pyt _make_fire s icCsKtjddƒ}|jtj||d|ƒƒ|jtjdƒƒ|S(NRR tpaddingtrelu(RR R tConv2Dt Activation(tchannelst kernel_sizeRR((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pyR +scBs#eZdZdd„Zd„ZRS(scSqueezeNet model from the `"SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size" `_ paper. SqueezeNet 1.1 model from the `official SqueezeNet repo `_. 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. ièc Ks6tt|ƒj||dks:tdjd|ƒƒ‚|jƒêtjddƒ|_|dkr|jj tj ddd d d ƒƒ|jj tj d ƒƒ|jj tj d dd d dt ƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tj d dd d dt ƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tj d dd d dt ƒƒ|jj tdddƒƒn–|jj tj dddd d ƒƒ|jj tj d ƒƒ|jj tj d dd d dt ƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tj d dd d dt ƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tj d dd d dt ƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tdddƒƒ|jj tjdƒƒtjddƒ|_|jj tj |ddƒƒ|jj tj d ƒƒ|jj tjdƒƒ|jj tjƒƒWdQXdS(Ns1.0s1.1s<Unsupported SqueezeNet version {version}:1.0 or 1.1 expectedtversionRR i`RitstridesiRt pool_sizeit ceil_modeii@i i€i0iÀigà?ii (s1.0s1.1(tsuperRt__init__tAssertionErrortformatt name_scopeRR tfeaturesR RRt MaxPool2DtTrueRtDropouttoutputt AvgPool2DtFlatten(tselfRtclassestkwargs((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pyRAsL   %(((%(((cCs"|j|ƒ}|j|ƒ}|S(N(R#R'(R*tFtx((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pythybrid_forwardks(t__name__t __module__t__doc__RR/(((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pyR2s *tmodelscKsOt||}|rKddlm}|j|d|d|ƒd|ƒn|S(s2SqueezeNet model from the `"SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size" `_ paper. SqueezeNet 1.1 model from the `official SqueezeNet repo `_. 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'. pretrained : bool, default False Whether to load the pretrained weights for model. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default $MXNET_HOME/models Location for keeping the model parameters. i(tget_model_files squeezenet%stroottctx(Rt model_storeR4tload_parameters(Rt pretrainedR6R5R,tnetR4((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pytget_squeezenetqs &cKs td|S(sâSqueezeNet 1.0 model from the `"SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size" `_ paper. Parameters ---------- pretrained : bool, default False Whether to load the pretrained weights for model. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default '$MXNET_HOME/models' Location for keeping the model parameters. s1.0(R;(R,((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pyR‹s cKs td|S(sESqueezeNet 1.1 model from the `official SqueezeNet repo `_. SqueezeNet 1.1 has 2.4x less computation and slightly fewer parameters than SqueezeNet 1.0, without sacrificing accuracy. Parameters ---------- pretrained : bool, default False Whether to load the pretrained weights for model. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default '$MXNET_HOME/models' Location for keeping the model parameters. s1.1(R;(R,((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pyRšs(R2t__all__tostcontextRtblockRR Rt contrib.nnRRRR RtFalsetpathtjointdata_dirR;RR(((sg/usr/local/lib/python2.7/site-packages/mxnet-1.3.1-py2.7.egg/mxnet/gluon/model_zoo/vision/squeezenet.pyts  ? !