/usr/local/lib64/python3.6/site-packages/caffe2/python/models/__pycache__
NameSizeModeActions
download.cpython-36.pyc65060644editdlrm
imagenet_trainer_test_utils.cpython-36.pyc40890644editdlrm
resnet.cpython-36.pyc63690644editdlrm
resnet_test.cpython-36.pyc23910644editdlrm
shufflenet.cpython-36.pyc44160644editdlrm
shufflenet_test.cpython-36.pyc24510644editdlrm
__init__.cpython-36.pyc1560644editdlrm
__sym_init__.cpython-36.pyc6150644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/caffe2/python/models/__pycache__/resnet.cpython-36.pyc (6369B)
3 Eg. @sddlmZddlZGdddZdddZdddddd dZddddgZejejdZ e j ej d!ddZ d"ddZ dS)#)brewNc@sHeZdZdZdddZddd Zd d Zd d ZdddZdddZ dS) ResNetBuilderz8 Helper class for constructing residual blocks. h㈵>?cCs<||_d|_d|_||_||_||_||_|r2dnd|_dS)Nr)model comp_countcomp_idx prev_blobis_test bn_epsilon bn_momentumno_bias)selfrr rr r r rG/usr/local/lib64/python3.6/site-packages/caffe2/python/models/resnet.py__init__s zResNetBuilder.__init__rrc CsL|jd7_tj|j|jd|j|jf||dif|||||jd |_|jS)Nrzcomp_%d_conv_%dMSRAFill) weight_initkernelstridegrouppadr)r rconvrr rr)rZ in_filtersZ out_filtersrrrrrrradd_conv)s  zResNetBuilder.add_convcCstj|j|j|j|_|jS)N)rrelurr )rrrradd_reluBs  zResNetBuilder.add_reluc Cs6tj|j|jd|j|jf||j|j|jd|_|jS)Nzcomp_%d_spatbn_%d)epsilonmomentumr ) r spatial_bnrr rr r r r )r num_filtersrrradd_spatial_bnJs zResNetBuilder.add_spatial_bnTc Cs$d|_|j}|j||ddd|r,|j||j|j||d||dd|rX|j||j|j||dd}|r~|j|}||krtj|j|d|j||difd||j d }|rtj |j|d |j||j |j |j d }tj|j||gd |j|jf|_|jd7_|j|jd7_|S) Nrr)rr)rrrr)rzshortcut_projection_%dr)rrrrzshortcut_projection_%d_spatbn)rrr zcomp_%d_sum_%d)r r rr!rrrrrrrr r r sum) r input_filtersZ base_filtersZoutput_filtersrrspatial_batch_norm shortcut_blob last_convrrradd_bottleneckZsd       zResNetBuilder.add_bottleneckFc Csd|_|j}|j||d|dkr"dnddd|r:|j||j|j||ddd}|rb|j|}||krtj|j|d|j||d ifd|dkrdnd|j d }|rtj |j|d |j|d |j d }tj |j||gd|j|jf|_|jd7_|j|jd7_dS)Nrr"Fr)rrr)rrzshortcut_projection_%dr)rrrrzshortcut_projection_%d_spatbngMbP?)rr zcomp_%d_sum_%d) r r rr!rrrrrrrr r#)rr$r down_samplingr%r&r'rrradd_simple_blocksN     zResNetBuilder.add_simple_blockN)rr)rrr)rrT)FT) __name__ __module__ __qualname____doc__rrrr!r(r+rrrrrs   PrFc Cstj||d|ddddtj|dddd|dtj|dd dd d g}t|d d |d }d}xjtd dD]\} xNtd d|D]<} |j| d kr|n|| || | d kr| d krdnddqzW|| }qfWtj||jddddtj |ddd |tj |dd} | S)zp Create residual net for smaller images (sec 4.2 of He et. al (2015)) num_groups = 'n' in the paper conv1r"r)rrZ conv1_spatbngMbP?)rr Zrelu1 @r)rr r)TF)r* final_avglast_outsoftmax) rrrrrranger+ average_poolr fcr7) rdatanum_input_channels num_groups num_labelsr filtersbuilderZ prev_filtersZgroupidxZblockidxr7rrrcreate_resnet_32x32s*  rAr)r"r5$)"2erZresnext_builderh㈵>?c$ Cs|tkr|jdj|t|}t}dddddg}|d krHddd ddg}|d!}tj||d ||d d if| | d| d }tj||d|d |||d}tj|||}tj||dddd d}t ||| |ddd}||}xnt dD]b}||}||}||}xg?)rr r r rB)rrr4T)rrZglobal_poolingz last_out_L{}r7loss)rGrH)RESNEXT_BLOCK_CONFIGerrorformatRESNEXT_STRIDESrrrrmax_poolrr8r(r9r r:ZSoftmaxWithLossr7)$rr;r<r> num_layersr=num_width_per_grouplabelr no_lossr conv1_kernel conv1_stridefinal_avg_kernellogr r Z num_blocksstridesr Z num_featuresZ conv_blobZbn_blobZ relu_blobrXr@Z inner_dimZ residual_idxZ residual_numZresidual_strideZdim_inZblk_idxr4r6r7rRrrrcreate_resnext#sz    rbc Cs$t||||ddd|||||| | dS)NrIrr3) rYr=rZr[r r\rr]r^r_)rb) rr;r<r>r[r r\rr]r^r_rrrcreate_resnet50src)F)r)r)r)r))r"rBrCr")r"rBrCr")r"rBrDr")r"r5rEr")r"rFrEr") NFFrrMr)rMNrNrO)NFFrrMr)rM)Z caffe2.pythonrloggingrrArTrW basicConfig getLoggerr`setLevelDEBUGrbrcrrrrs>  Z '    f