σ šΔοYc@sndZddgZddlmZddlmZddlmZdefd„ƒYZe eƒd „Z d S( sAlexnet, implemented in Gluon.tAlexNettalexneti(tcpui(t HybridBlock(tnncBs#eZdZdd„Zd„ZRS(sΛAlexNet model from the `"One weird trick..." `_ paper. Parameters ---------- classes : int, default 1000 Number of classes for the output layer. iθcKsett|ƒj||jƒ=tjddƒ|_|jjƒ^|jjtjddddddd d d ƒƒ|jjtj d d dd ƒƒ|jjtjddddd d d ƒƒ|jjtj d d dd ƒƒ|jjtjddd ddd d ƒƒ|jjtjddd ddd d ƒƒ|jjtjddd ddd d ƒƒ|jjtj d d dd ƒƒ|jjtj ƒƒWdQXtjddƒ|_ |j jƒŽ|j jtj dd d ƒƒ|j jtj dƒƒ|j jtj dd d ƒƒ|j jtj dƒƒ|j jtj |ƒƒWdQXWdQXdS(Ntprefixti@t kernel_sizei tstridesitpaddingit activationtrelut pool_sizeiiΐii€iiigΰ?(tsuperRt__init__t name_scopeRtHybridSequentialtfeaturestaddtConv2Dt MaxPool2DtFlattent classifiertDensetDropout(tselftclassestkwargs((sDbuild/bdist.linux-armv7l/egg/mxnet/gluon/model_zoo/vision/alexnet.pyR$s2 !"! "! ! ! "cCs"|j|ƒ}|j|ƒ}|S(N(RR(RtFtx((sDbuild/bdist.linux-armv7l/egg/mxnet/gluon/model_zoo/vision/alexnet.pythybrid_forward@s(t__name__t __module__t__doc__RR(((sDbuild/bdist.linux-armv7l/egg/mxnet/gluon/model_zoo/vision/alexnet.pyRs cKsBt|}|r>ddlm}|j|dƒd|ƒn|S(s6AlexNet model from the `"One weird trick..." `_ 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. i(tget_model_fileRtctx(Rt model_storeR"t load_params(t pretrainedR#RtnetR"((sDbuild/bdist.linux-armv7l/egg/mxnet/gluon/model_zoo/vision/alexnet.pyRFs N( R!t__all__tcontextRtblockRRRRtFalseR(((sDbuild/bdist.linux-armv7l/egg/mxnet/gluon/model_zoo/vision/alexnet.pyts  *