diff --git a/CNNDemo/ResNet50Weight.bin b/CNNDemo/ResNet50Weight.bin index 1cb05b8..f267736 100644 Binary files a/CNNDemo/ResNet50Weight.bin and b/CNNDemo/ResNet50Weight.bin differ diff --git a/CNNDemo/ResNet50Weight.cc b/CNNDemo/ResNet50Weight.cc index 7c18f10..04e17f5 100644 --- a/CNNDemo/ResNet50Weight.cc +++ b/CNNDemo/ResNet50Weight.cc @@ -1,270 +1,382 @@ int RN50_conv1_weight[] = { 0,37631 }; + int RN50_bn1_running_mean[] = { 37632,37887 }; int RN50_bn1_running_var[] = { 37888,38143 }; int RN50_bn1_weight[] = { 38144,38399 }; int RN50_bn1_bias[] = { 38400,38655 }; + int RN50_layer1__modules_0_conv1_weight[] = { 38656,55039 }; + int RN50_layer1__modules_0_bn1_running_mean[] = { 55040,55295 }; int RN50_layer1__modules_0_bn1_running_var[] = { 55296,55551 }; int RN50_layer1__modules_0_bn1_weight[] = { 55552,55807 }; int RN50_layer1__modules_0_bn1_bias[] = { 55808,56063 }; + int RN50_layer1__modules_0_conv2_weight[] = { 56064,203519 }; + int RN50_layer1__modules_0_bn2_running_mean[] = { 203520,203775 }; int RN50_layer1__modules_0_bn2_running_var[] = { 203776,204031 }; int RN50_layer1__modules_0_bn2_weight[] = { 204032,204287 }; int RN50_layer1__modules_0_bn2_bias[] = { 204288,204543 }; + int RN50_layer1__modules_0_conv3_weight[] = { 204544,270079 }; + int RN50_layer1__modules_0_bn3_running_mean[] = { 270080,271103 }; int RN50_layer1__modules_0_bn3_running_var[] = { 271104,272127 }; int RN50_layer1__modules_0_bn3_weight[] = { 272128,273151 }; int RN50_layer1__modules_0_bn3_bias[] = { 273152,274175 }; + int RN50_layer1__modules_0_downsample__modules_0_weight[] = { 274176,339711 }; + int RN50_layer1__modules_0_downsample__modules_1_running_mean[] = { 339712,340735 }; int RN50_layer1__modules_0_downsample__modules_1_running_var[] = { 340736,341759 }; int RN50_layer1__modules_0_downsample__modules_1_weight[] = { 341760,342783 }; int RN50_layer1__modules_0_downsample__modules_1_bias[] = { 342784,343807 }; + int RN50_layer1__modules_1_conv1_weight[] = { 343808,409343 }; + int RN50_layer1__modules_1_bn1_running_mean[] = { 409344,409599 }; int RN50_layer1__modules_1_bn1_running_var[] = { 409600,409855 }; int RN50_layer1__modules_1_bn1_weight[] = { 409856,410111 }; int RN50_layer1__modules_1_bn1_bias[] = { 410112,410367 }; + int RN50_layer1__modules_1_conv2_weight[] = { 410368,557823 }; + int RN50_layer1__modules_1_bn2_running_mean[] = { 557824,558079 }; int RN50_layer1__modules_1_bn2_running_var[] = { 558080,558335 }; int RN50_layer1__modules_1_bn2_weight[] = { 558336,558591 }; int RN50_layer1__modules_1_bn2_bias[] = { 558592,558847 }; + int RN50_layer1__modules_1_conv3_weight[] = { 558848,624383 }; + int RN50_layer1__modules_1_bn3_running_mean[] = { 624384,625407 }; int RN50_layer1__modules_1_bn3_running_var[] = { 625408,626431 }; int RN50_layer1__modules_1_bn3_weight[] = { 626432,627455 }; int RN50_layer1__modules_1_bn3_bias[] = { 627456,628479 }; + int RN50_layer1__modules_2_conv1_weight[] = { 628480,694015 }; + int RN50_layer1__modules_2_bn1_running_mean[] = { 694016,694271 }; int RN50_layer1__modules_2_bn1_running_var[] = { 694272,694527 }; int RN50_layer1__modules_2_bn1_weight[] = { 694528,694783 }; int RN50_layer1__modules_2_bn1_bias[] = { 694784,695039 }; + int RN50_layer1__modules_2_conv2_weight[] = { 695040,842495 }; + int RN50_layer1__modules_2_bn2_running_mean[] = { 842496,842751 }; int RN50_layer1__modules_2_bn2_running_var[] = { 842752,843007 }; int RN50_layer1__modules_2_bn2_weight[] = { 843008,843263 }; int RN50_layer1__modules_2_bn2_bias[] = { 843264,843519 }; + int RN50_layer1__modules_2_conv3_weight[] = { 843520,909055 }; + int RN50_layer1__modules_2_bn3_running_mean[] = { 909056,910079 }; int RN50_layer1__modules_2_bn3_running_var[] = { 910080,911103 }; int RN50_layer1__modules_2_bn3_weight[] = { 911104,912127 }; int RN50_layer1__modules_2_bn3_bias[] = { 912128,913151 }; + int RN50_layer2__modules_0_conv1_weight[] = { 913152,1044223 }; + int RN50_layer2__modules_0_bn1_running_mean[] = { 1044224,1044735 }; int RN50_layer2__modules_0_bn1_running_var[] = { 1044736,1045247 }; int RN50_layer2__modules_0_bn1_weight[] = { 1045248,1045759 }; int RN50_layer2__modules_0_bn1_bias[] = { 1045760,1046271 }; + int RN50_layer2__modules_0_conv2_weight[] = { 1046272,1636095 }; + int RN50_layer2__modules_0_bn2_running_mean[] = { 1636096,1636607 }; int RN50_layer2__modules_0_bn2_running_var[] = { 1636608,1637119 }; int RN50_layer2__modules_0_bn2_weight[] = { 1637120,1637631 }; int RN50_layer2__modules_0_bn2_bias[] = { 1637632,1638143 }; + int RN50_layer2__modules_0_conv3_weight[] = { 1638144,1900287 }; + int RN50_layer2__modules_0_bn3_running_mean[] = { 1900288,1902335 }; int RN50_layer2__modules_0_bn3_running_var[] = { 1902336,1904383 }; int RN50_layer2__modules_0_bn3_weight[] = { 1904384,1906431 }; int RN50_layer2__modules_0_bn3_bias[] = { 1906432,1908479 }; + int RN50_layer2__modules_0_downsample__modules_0_weight[] = { 1908480,2432767 }; + int RN50_layer2__modules_0_downsample__modules_1_running_mean[] = { 2432768,2434815 }; int RN50_layer2__modules_0_downsample__modules_1_running_var[] = { 2434816,2436863 }; int RN50_layer2__modules_0_downsample__modules_1_weight[] = { 2436864,2438911 }; int RN50_layer2__modules_0_downsample__modules_1_bias[] = { 2438912,2440959 }; + int RN50_layer2__modules_1_conv1_weight[] = { 2440960,2703103 }; + int RN50_layer2__modules_1_bn1_running_mean[] = { 2703104,2703615 }; int RN50_layer2__modules_1_bn1_running_var[] = { 2703616,2704127 }; int RN50_layer2__modules_1_bn1_weight[] = { 2704128,2704639 }; int RN50_layer2__modules_1_bn1_bias[] = { 2704640,2705151 }; + int RN50_layer2__modules_1_conv2_weight[] = { 2705152,3294975 }; + int RN50_layer2__modules_1_bn2_running_mean[] = { 3294976,3295487 }; int RN50_layer2__modules_1_bn2_running_var[] = { 3295488,3295999 }; int RN50_layer2__modules_1_bn2_weight[] = { 3296000,3296511 }; int RN50_layer2__modules_1_bn2_bias[] = { 3296512,3297023 }; + int RN50_layer2__modules_1_conv3_weight[] = { 3297024,3559167 }; + int RN50_layer2__modules_1_bn3_running_mean[] = { 3559168,3561215 }; int RN50_layer2__modules_1_bn3_running_var[] = { 3561216,3563263 }; int RN50_layer2__modules_1_bn3_weight[] = { 3563264,3565311 }; int RN50_layer2__modules_1_bn3_bias[] = { 3565312,3567359 }; + int RN50_layer2__modules_2_conv1_weight[] = { 3567360,3829503 }; + int RN50_layer2__modules_2_bn1_running_mean[] = { 3829504,3830015 }; int RN50_layer2__modules_2_bn1_running_var[] = { 3830016,3830527 }; int RN50_layer2__modules_2_bn1_weight[] = { 3830528,3831039 }; int RN50_layer2__modules_2_bn1_bias[] = { 3831040,3831551 }; + int RN50_layer2__modules_2_conv2_weight[] = { 3831552,4421375 }; + int RN50_layer2__modules_2_bn2_running_mean[] = { 4421376,4421887 }; int RN50_layer2__modules_2_bn2_running_var[] = { 4421888,4422399 }; int RN50_layer2__modules_2_bn2_weight[] = { 4422400,4422911 }; int RN50_layer2__modules_2_bn2_bias[] = { 4422912,4423423 }; + int RN50_layer2__modules_2_conv3_weight[] = { 4423424,4685567 }; + int RN50_layer2__modules_2_bn3_running_mean[] = { 4685568,4687615 }; int RN50_layer2__modules_2_bn3_running_var[] = { 4687616,4689663 }; int RN50_layer2__modules_2_bn3_weight[] = { 4689664,4691711 }; int RN50_layer2__modules_2_bn3_bias[] = { 4691712,4693759 }; + int RN50_layer2__modules_3_conv1_weight[] = { 4693760,4955903 }; + int RN50_layer2__modules_3_bn1_running_mean[] = { 4955904,4956415 }; int RN50_layer2__modules_3_bn1_running_var[] = { 4956416,4956927 }; int RN50_layer2__modules_3_bn1_weight[] = { 4956928,4957439 }; int RN50_layer2__modules_3_bn1_bias[] = { 4957440,4957951 }; + int RN50_layer2__modules_3_conv2_weight[] = { 4957952,5547775 }; + int RN50_layer2__modules_3_bn2_running_mean[] = { 5547776,5548287 }; int RN50_layer2__modules_3_bn2_running_var[] = { 5548288,5548799 }; int RN50_layer2__modules_3_bn2_weight[] = { 5548800,5549311 }; int RN50_layer2__modules_3_bn2_bias[] = { 5549312,5549823 }; + int RN50_layer2__modules_3_conv3_weight[] = { 5549824,5811967 }; + int RN50_layer2__modules_3_bn3_running_mean[] = { 5811968,5814015 }; int RN50_layer2__modules_3_bn3_running_var[] = { 5814016,5816063 }; int RN50_layer2__modules_3_bn3_weight[] = { 5816064,5818111 }; int RN50_layer2__modules_3_bn3_bias[] = { 5818112,5820159 }; + int RN50_layer3__modules_0_conv1_weight[] = { 5820160,6344447 }; + int RN50_layer3__modules_0_bn1_running_mean[] = { 6344448,6345471 }; int RN50_layer3__modules_0_bn1_running_var[] = { 6345472,6346495 }; int RN50_layer3__modules_0_bn1_weight[] = { 6346496,6347519 }; int RN50_layer3__modules_0_bn1_bias[] = { 6347520,6348543 }; + int RN50_layer3__modules_0_conv2_weight[] = { 6348544,8707839 }; + int RN50_layer3__modules_0_bn2_running_mean[] = { 8707840,8708863 }; int RN50_layer3__modules_0_bn2_running_var[] = { 8708864,8709887 }; int RN50_layer3__modules_0_bn2_weight[] = { 8709888,8710911 }; int RN50_layer3__modules_0_bn2_bias[] = { 8710912,8711935 }; + int RN50_layer3__modules_0_conv3_weight[] = { 8711936,9760511 }; + int RN50_layer3__modules_0_bn3_running_mean[] = { 9760512,9764607 }; int RN50_layer3__modules_0_bn3_running_var[] = { 9764608,9768703 }; int RN50_layer3__modules_0_bn3_weight[] = { 9768704,9772799 }; int RN50_layer3__modules_0_bn3_bias[] = { 9772800,9776895 }; + int RN50_layer3__modules_0_downsample__modules_0_weight[] = { 9776896,11874047 }; + int RN50_layer3__modules_0_downsample__modules_1_running_mean[] = { 11874048,11878143 }; int RN50_layer3__modules_0_downsample__modules_1_running_var[] = { 11878144,11882239 }; int RN50_layer3__modules_0_downsample__modules_1_weight[] = { 11882240,11886335 }; int RN50_layer3__modules_0_downsample__modules_1_bias[] = { 11886336,11890431 }; + int RN50_layer3__modules_1_conv1_weight[] = { 11890432,12939007 }; + int RN50_layer3__modules_1_bn1_running_mean[] = { 12939008,12940031 }; int RN50_layer3__modules_1_bn1_running_var[] = { 12940032,12941055 }; int RN50_layer3__modules_1_bn1_weight[] = { 12941056,12942079 }; int RN50_layer3__modules_1_bn1_bias[] = { 12942080,12943103 }; + int RN50_layer3__modules_1_conv2_weight[] = { 12943104,15302399 }; + int RN50_layer3__modules_1_bn2_running_mean[] = { 15302400,15303423 }; int RN50_layer3__modules_1_bn2_running_var[] = { 15303424,15304447 }; int RN50_layer3__modules_1_bn2_weight[] = { 15304448,15305471 }; int RN50_layer3__modules_1_bn2_bias[] = { 15305472,15306495 }; + int RN50_layer3__modules_1_conv3_weight[] = { 15306496,16355071 }; + int RN50_layer3__modules_1_bn3_running_mean[] = { 16355072,16359167 }; int RN50_layer3__modules_1_bn3_running_var[] = { 16359168,16363263 }; int RN50_layer3__modules_1_bn3_weight[] = { 16363264,16367359 }; int RN50_layer3__modules_1_bn3_bias[] = { 16367360,16371455 }; + int RN50_layer3__modules_2_conv1_weight[] = { 16371456,17420031 }; + int RN50_layer3__modules_2_bn1_running_mean[] = { 17420032,17421055 }; int RN50_layer3__modules_2_bn1_running_var[] = { 17421056,17422079 }; int RN50_layer3__modules_2_bn1_weight[] = { 17422080,17423103 }; int RN50_layer3__modules_2_bn1_bias[] = { 17423104,17424127 }; + int RN50_layer3__modules_2_conv2_weight[] = { 17424128,19783423 }; + int RN50_layer3__modules_2_bn2_running_mean[] = { 19783424,19784447 }; int RN50_layer3__modules_2_bn2_running_var[] = { 19784448,19785471 }; int RN50_layer3__modules_2_bn2_weight[] = { 19785472,19786495 }; int RN50_layer3__modules_2_bn2_bias[] = { 19786496,19787519 }; + int RN50_layer3__modules_2_conv3_weight[] = { 19787520,20836095 }; + int RN50_layer3__modules_2_bn3_running_mean[] = { 20836096,20840191 }; int RN50_layer3__modules_2_bn3_running_var[] = { 20840192,20844287 }; int RN50_layer3__modules_2_bn3_weight[] = { 20844288,20848383 }; int RN50_layer3__modules_2_bn3_bias[] = { 20848384,20852479 }; + int RN50_layer3__modules_3_conv1_weight[] = { 20852480,21901055 }; + int RN50_layer3__modules_3_bn1_running_mean[] = { 21901056,21902079 }; int RN50_layer3__modules_3_bn1_running_var[] = { 21902080,21903103 }; int RN50_layer3__modules_3_bn1_weight[] = { 21903104,21904127 }; int RN50_layer3__modules_3_bn1_bias[] = { 21904128,21905151 }; + int RN50_layer3__modules_3_conv2_weight[] = { 21905152,24264447 }; + int RN50_layer3__modules_3_bn2_running_mean[] = { 24264448,24265471 }; int RN50_layer3__modules_3_bn2_running_var[] = { 24265472,24266495 }; int RN50_layer3__modules_3_bn2_weight[] = { 24266496,24267519 }; int RN50_layer3__modules_3_bn2_bias[] = { 24267520,24268543 }; + int RN50_layer3__modules_3_conv3_weight[] = { 24268544,25317119 }; + int RN50_layer3__modules_3_bn3_running_mean[] = { 25317120,25321215 }; int RN50_layer3__modules_3_bn3_running_var[] = { 25321216,25325311 }; int RN50_layer3__modules_3_bn3_weight[] = { 25325312,25329407 }; int RN50_layer3__modules_3_bn3_bias[] = { 25329408,25333503 }; + int RN50_layer3__modules_4_conv1_weight[] = { 25333504,26382079 }; + int RN50_layer3__modules_4_bn1_running_mean[] = { 26382080,26383103 }; int RN50_layer3__modules_4_bn1_running_var[] = { 26383104,26384127 }; int RN50_layer3__modules_4_bn1_weight[] = { 26384128,26385151 }; int RN50_layer3__modules_4_bn1_bias[] = { 26385152,26386175 }; + int RN50_layer3__modules_4_conv2_weight[] = { 26386176,28745471 }; + int RN50_layer3__modules_4_bn2_running_mean[] = { 28745472,28746495 }; int RN50_layer3__modules_4_bn2_running_var[] = { 28746496,28747519 }; int RN50_layer3__modules_4_bn2_weight[] = { 28747520,28748543 }; int RN50_layer3__modules_4_bn2_bias[] = { 28748544,28749567 }; + int RN50_layer3__modules_4_conv3_weight[] = { 28749568,29798143 }; + int RN50_layer3__modules_4_bn3_running_mean[] = { 29798144,29802239 }; int RN50_layer3__modules_4_bn3_running_var[] = { 29802240,29806335 }; int RN50_layer3__modules_4_bn3_weight[] = { 29806336,29810431 }; int RN50_layer3__modules_4_bn3_bias[] = { 29810432,29814527 }; + int RN50_layer3__modules_5_conv1_weight[] = { 29814528,30863103 }; + int RN50_layer3__modules_5_bn1_running_mean[] = { 30863104,30864127 }; int RN50_layer3__modules_5_bn1_running_var[] = { 30864128,30865151 }; int RN50_layer3__modules_5_bn1_weight[] = { 30865152,30866175 }; int RN50_layer3__modules_5_bn1_bias[] = { 30866176,30867199 }; + int RN50_layer3__modules_5_conv2_weight[] = { 30867200,33226495 }; + int RN50_layer3__modules_5_bn2_running_mean[] = { 33226496,33227519 }; int RN50_layer3__modules_5_bn2_running_var[] = { 33227520,33228543 }; int RN50_layer3__modules_5_bn2_weight[] = { 33228544,33229567 }; int RN50_layer3__modules_5_bn2_bias[] = { 33229568,33230591 }; + int RN50_layer3__modules_5_conv3_weight[] = { 33230592,34279167 }; + int RN50_layer3__modules_5_bn3_running_mean[] = { 34279168,34283263 }; int RN50_layer3__modules_5_bn3_running_var[] = { 34283264,34287359 }; int RN50_layer3__modules_5_bn3_weight[] = { 34287360,34291455 }; int RN50_layer3__modules_5_bn3_bias[] = { 34291456,34295551 }; + int RN50_layer4__modules_0_conv1_weight[] = { 34295552,36392703 }; + int RN50_layer4__modules_0_bn1_running_mean[] = { 36392704,36394751 }; int RN50_layer4__modules_0_bn1_running_var[] = { 36394752,36396799 }; int RN50_layer4__modules_0_bn1_weight[] = { 36396800,36398847 }; int RN50_layer4__modules_0_bn1_bias[] = { 36398848,36400895 }; + int RN50_layer4__modules_0_conv2_weight[] = { 36400896,45838079 }; + int RN50_layer4__modules_0_bn2_running_mean[] = { 45838080,45840127 }; int RN50_layer4__modules_0_bn2_running_var[] = { 45840128,45842175 }; int RN50_layer4__modules_0_bn2_weight[] = { 45842176,45844223 }; int RN50_layer4__modules_0_bn2_bias[] = { 45844224,45846271 }; + int RN50_layer4__modules_0_conv3_weight[] = { 45846272,50040575 }; + int RN50_layer4__modules_0_bn3_running_mean[] = { 50040576,50048767 }; int RN50_layer4__modules_0_bn3_running_var[] = { 50048768,50056959 }; int RN50_layer4__modules_0_bn3_weight[] = { 50056960,50065151 }; int RN50_layer4__modules_0_bn3_bias[] = { 50065152,50073343 }; + int RN50_layer4__modules_0_downsample__modules_0_weight[] = { 50073344,58461951 }; + int RN50_layer4__modules_0_downsample__modules_1_running_mean[] = { 58461952,58470143 }; int RN50_layer4__modules_0_downsample__modules_1_running_var[] = { 58470144,58478335 }; int RN50_layer4__modules_0_downsample__modules_1_weight[] = { 58478336,58486527 }; int RN50_layer4__modules_0_downsample__modules_1_bias[] = { 58486528,58494719 }; + int RN50_layer4__modules_1_conv1_weight[] = { 58494720,62689023 }; + int RN50_layer4__modules_1_bn1_running_mean[] = { 62689024,62691071 }; int RN50_layer4__modules_1_bn1_running_var[] = { 62691072,62693119 }; int RN50_layer4__modules_1_bn1_weight[] = { 62693120,62695167 }; int RN50_layer4__modules_1_bn1_bias[] = { 62695168,62697215 }; + int RN50_layer4__modules_1_conv2_weight[] = { 62697216,72134399 }; + int RN50_layer4__modules_1_bn2_running_mean[] = { 72134400,72136447 }; int RN50_layer4__modules_1_bn2_running_var[] = { 72136448,72138495 }; int RN50_layer4__modules_1_bn2_weight[] = { 72138496,72140543 }; int RN50_layer4__modules_1_bn2_bias[] = { 72140544,72142591 }; + int RN50_layer4__modules_1_conv3_weight[] = { 72142592,76336895 }; + int RN50_layer4__modules_1_bn3_running_mean[] = { 76336896,76345087 }; int RN50_layer4__modules_1_bn3_running_var[] = { 76345088,76353279 }; int RN50_layer4__modules_1_bn3_weight[] = { 76353280,76361471 }; int RN50_layer4__modules_1_bn3_bias[] = { 76361472,76369663 }; + int RN50_layer4__modules_2_conv1_weight[] = { 76369664,80563967 }; + int RN50_layer4__modules_2_bn1_running_mean[] = { 80563968,80566015 }; int RN50_layer4__modules_2_bn1_running_var[] = { 80566016,80568063 }; int RN50_layer4__modules_2_bn1_weight[] = { 80568064,80570111 }; int RN50_layer4__modules_2_bn1_bias[] = { 80570112,80572159 }; + int RN50_layer4__modules_2_conv2_weight[] = { 80572160,90009343 }; + int RN50_layer4__modules_2_bn2_running_mean[] = { 90009344,90011391 }; int RN50_layer4__modules_2_bn2_running_var[] = { 90011392,90013439 }; int RN50_layer4__modules_2_bn2_weight[] = { 90013440,90015487 }; int RN50_layer4__modules_2_bn2_bias[] = { 90015488,90017535 }; + int RN50_layer4__modules_2_conv3_weight[] = { 90017536,94211839 }; + int RN50_layer4__modules_2_bn3_running_mean[] = { 94211840,94220031 }; int RN50_layer4__modules_2_bn3_running_var[] = { 94220032,94228223 }; int RN50_layer4__modules_2_bn3_weight[] = { 94228224,94236415 }; int RN50_layer4__modules_2_bn3_bias[] = { 94236416,94244607 }; + int RN50_fc_weight[] = { 94244608,102436607 }; int RN50_fc_bias[] = { 102436608,102440607 }; + + + + + +// val data 0-9 int input_0[] = { 102440608,103042719 }; int output_0[] = { 103042720,103046719 }; int input_1[] = { 103046720,103648831 }; @@ -285,6 +397,11 @@ int input_8[] = { 107289504,107891615 }; int output_8[] = { 107891616,107895615 }; int input_9[] = { 107895616,108497727 }; int output_9[] = { 108497728,108501727 }; + + + + +// input 0 layer output int verify_input[] = { 108501728,109103839 }; int verify_conv1[] = { 109103840,112315103 }; int verify_bn1[] = { 112315104,115526367 }; @@ -336,3 +453,171 @@ int layer1_block2_conv3_input[] = { 180968064,181770879 }; int layer1_block2_conv3_output[] = { 181770880,184982143 }; int layer1_block2_bn3_input[] = { 184982144,188193407 }; int layer1_block2_bn3_output[] = { 188193408,191404671 }; +int layer2_block0_conv1_input[] = { 191404672,194615935 }; +int layer2_block0_conv1_output[] = { 194615936,196221567 }; +int layer2_block0_bn1_input[] = { 196221568,197827199 }; +int layer2_block0_bn1_output[] = { 197827200,199432831 }; +int layer2_block0_conv2_input[] = { 199432832,201038463 }; +int layer2_block0_conv2_output[] = { 201038464,201439871 }; +int layer2_block0_bn2_input[] = { 201439872,201841279 }; +int layer2_block0_bn2_output[] = { 201841280,202242687 }; +int layer2_block0_conv3_input[] = { 202242688,202644095 }; +int layer2_block0_conv3_output[] = { 202644096,204249727 }; +int layer2_block0_bn3_input[] = { 204249728,205855359 }; +int layer2_block0_bn3_output[] = { 205855360,207460991 }; +int layer2_block0_downsample_conv_input[] = { 207460992,210672255 }; +int layer2_block0_downsample_conv_output[] = { 210672256,212277887 }; +int layer2_block0_downsample_bn_input[] = { 212277888,213883519 }; +int layer2_block0_downsample_bn_output[] = { 213883520,215489151 }; +int layer2_block1_conv1_input[] = { 215489152,217094783 }; +int layer2_block1_conv1_output[] = { 217094784,217496191 }; +int layer2_block1_bn1_input[] = { 217496192,217897599 }; +int layer2_block1_bn1_output[] = { 217897600,218299007 }; +int layer2_block1_conv2_input[] = { 218299008,218700415 }; +int layer2_block1_conv2_output[] = { 218700416,219101823 }; +int layer2_block1_bn2_input[] = { 219101824,219503231 }; +int layer2_block1_bn2_output[] = { 219503232,219904639 }; +int layer2_block1_conv3_input[] = { 219904640,220306047 }; +int layer2_block1_conv3_output[] = { 220306048,221911679 }; +int layer2_block1_bn3_input[] = { 221911680,223517311 }; +int layer2_block1_bn3_output[] = { 223517312,225122943 }; +int layer2_block2_conv1_input[] = { 225122944,226728575 }; +int layer2_block2_conv1_output[] = { 226728576,227129983 }; +int layer2_block2_bn1_input[] = { 227129984,227531391 }; +int layer2_block2_bn1_output[] = { 227531392,227932799 }; +int layer2_block2_conv2_input[] = { 227932800,228334207 }; +int layer2_block2_conv2_output[] = { 228334208,228735615 }; +int layer2_block2_bn2_input[] = { 228735616,229137023 }; +int layer2_block2_bn2_output[] = { 229137024,229538431 }; +int layer2_block2_conv3_input[] = { 229538432,229939839 }; +int layer2_block2_conv3_output[] = { 229939840,231545471 }; +int layer2_block2_bn3_input[] = { 231545472,233151103 }; +int layer2_block2_bn3_output[] = { 233151104,234756735 }; +int layer2_block3_conv1_input[] = { 234756736,236362367 }; +int layer2_block3_conv1_output[] = { 236362368,236763775 }; +int layer2_block3_bn1_input[] = { 236763776,237165183 }; +int layer2_block3_bn1_output[] = { 237165184,237566591 }; +int layer2_block3_conv2_input[] = { 237566592,237967999 }; +int layer2_block3_conv2_output[] = { 237968000,238369407 }; +int layer2_block3_bn2_input[] = { 238369408,238770815 }; +int layer2_block3_bn2_output[] = { 238770816,239172223 }; +int layer2_block3_conv3_input[] = { 239172224,239573631 }; +int layer2_block3_conv3_output[] = { 239573632,241179263 }; +int layer2_block3_bn3_input[] = { 241179264,242784895 }; +int layer2_block3_bn3_output[] = { 242784896,244390527 }; +int layer3_block0_conv1_input[] = { 244390528,245996159 }; +int layer3_block0_conv1_output[] = { 245996160,246798975 }; +int layer3_block0_bn1_input[] = { 246798976,247601791 }; +int layer3_block0_bn1_output[] = { 247601792,248404607 }; +int layer3_block0_conv2_input[] = { 248404608,249207423 }; +int layer3_block0_conv2_output[] = { 249207424,249408127 }; +int layer3_block0_bn2_input[] = { 249408128,249608831 }; +int layer3_block0_bn2_output[] = { 249608832,249809535 }; +int layer3_block0_conv3_input[] = { 249809536,250010239 }; +int layer3_block0_conv3_output[] = { 250010240,250813055 }; +int layer3_block0_bn3_input[] = { 250813056,251615871 }; +int layer3_block0_bn3_output[] = { 251615872,252418687 }; +int layer3_block0_downsample_conv_input[] = { 252418688,254024319 }; +int layer3_block0_downsample_conv_output[] = { 254024320,254827135 }; +int layer3_block0_downsample_bn_input[] = { 254827136,255629951 }; +int layer3_block0_downsample_bn_output[] = { 255629952,256432767 }; +int layer3_block1_conv1_input[] = { 256432768,257235583 }; +int layer3_block1_conv1_output[] = { 257235584,257436287 }; +int layer3_block1_bn1_input[] = { 257436288,257636991 }; +int layer3_block1_bn1_output[] = { 257636992,257837695 }; +int layer3_block1_conv2_input[] = { 257837696,258038399 }; +int layer3_block1_conv2_output[] = { 258038400,258239103 }; +int layer3_block1_bn2_input[] = { 258239104,258439807 }; +int layer3_block1_bn2_output[] = { 258439808,258640511 }; +int layer3_block1_conv3_input[] = { 258640512,258841215 }; +int layer3_block1_conv3_output[] = { 258841216,259644031 }; +int layer3_block1_bn3_input[] = { 259644032,260446847 }; +int layer3_block1_bn3_output[] = { 260446848,261249663 }; +int layer3_block2_conv1_input[] = { 261249664,262052479 }; +int layer3_block2_conv1_output[] = { 262052480,262253183 }; +int layer3_block2_bn1_input[] = { 262253184,262453887 }; +int layer3_block2_bn1_output[] = { 262453888,262654591 }; +int layer3_block2_conv2_input[] = { 262654592,262855295 }; +int layer3_block2_conv2_output[] = { 262855296,263055999 }; +int layer3_block2_bn2_input[] = { 263056000,263256703 }; +int layer3_block2_bn2_output[] = { 263256704,263457407 }; +int layer3_block2_conv3_input[] = { 263457408,263658111 }; +int layer3_block2_conv3_output[] = { 263658112,264460927 }; +int layer3_block2_bn3_input[] = { 264460928,265263743 }; +int layer3_block2_bn3_output[] = { 265263744,266066559 }; +int layer3_block3_conv1_input[] = { 266066560,266869375 }; +int layer3_block3_conv1_output[] = { 266869376,267070079 }; +int layer3_block3_bn1_input[] = { 267070080,267270783 }; +int layer3_block3_bn1_output[] = { 267270784,267471487 }; +int layer3_block3_conv2_input[] = { 267471488,267672191 }; +int layer3_block3_conv2_output[] = { 267672192,267872895 }; +int layer3_block3_bn2_input[] = { 267872896,268073599 }; +int layer3_block3_bn2_output[] = { 268073600,268274303 }; +int layer3_block3_conv3_input[] = { 268274304,268475007 }; +int layer3_block3_conv3_output[] = { 268475008,269277823 }; +int layer3_block3_bn3_input[] = { 269277824,270080639 }; +int layer3_block3_bn3_output[] = { 270080640,270883455 }; +int layer3_block4_conv1_input[] = { 270883456,271686271 }; +int layer3_block4_conv1_output[] = { 271686272,271886975 }; +int layer3_block4_bn1_input[] = { 271886976,272087679 }; +int layer3_block4_bn1_output[] = { 272087680,272288383 }; +int layer3_block4_conv2_input[] = { 272288384,272489087 }; +int layer3_block4_conv2_output[] = { 272489088,272689791 }; +int layer3_block4_bn2_input[] = { 272689792,272890495 }; +int layer3_block4_bn2_output[] = { 272890496,273091199 }; +int layer3_block4_conv3_input[] = { 273091200,273291903 }; +int layer3_block4_conv3_output[] = { 273291904,274094719 }; +int layer3_block4_bn3_input[] = { 274094720,274897535 }; +int layer3_block4_bn3_output[] = { 274897536,275700351 }; +int layer3_block5_conv1_input[] = { 275700352,276503167 }; +int layer3_block5_conv1_output[] = { 276503168,276703871 }; +int layer3_block5_bn1_input[] = { 276703872,276904575 }; +int layer3_block5_bn1_output[] = { 276904576,277105279 }; +int layer3_block5_conv2_input[] = { 277105280,277305983 }; +int layer3_block5_conv2_output[] = { 277305984,277506687 }; +int layer3_block5_bn2_input[] = { 277506688,277707391 }; +int layer3_block5_bn2_output[] = { 277707392,277908095 }; +int layer3_block5_conv3_input[] = { 277908096,278108799 }; +int layer3_block5_conv3_output[] = { 278108800,278911615 }; +int layer3_block5_bn3_input[] = { 278911616,279714431 }; +int layer3_block5_bn3_output[] = { 279714432,280517247 }; +int layer4_block0_conv1_input[] = { 280517248,281320063 }; +int layer4_block0_conv1_output[] = { 281320064,281721471 }; +int layer4_block0_bn1_input[] = { 281721472,282122879 }; +int layer4_block0_bn1_output[] = { 282122880,282524287 }; +int layer4_block0_conv2_input[] = { 282524288,282925695 }; +int layer4_block0_conv2_output[] = { 282925696,283026047 }; +int layer4_block0_bn2_input[] = { 283026048,283126399 }; +int layer4_block0_bn2_output[] = { 283126400,283226751 }; +int layer4_block0_conv3_input[] = { 283226752,283327103 }; +int layer4_block0_conv3_output[] = { 283327104,283728511 }; +int layer4_block0_bn3_input[] = { 283728512,284129919 }; +int layer4_block0_bn3_output[] = { 284129920,284531327 }; +int layer4_block0_downsample_conv_input[] = { 284531328,285334143 }; +int layer4_block0_downsample_conv_output[] = { 285334144,285735551 }; +int layer4_block0_downsample_bn_input[] = { 285735552,286136959 }; +int layer4_block0_downsample_bn_output[] = { 286136960,286538367 }; +int layer4_block1_conv1_input[] = { 286538368,286939775 }; +int layer4_block1_conv1_output[] = { 286939776,287040127 }; +int layer4_block1_bn1_input[] = { 287040128,287140479 }; +int layer4_block1_bn1_output[] = { 287140480,287240831 }; +int layer4_block1_conv2_input[] = { 287240832,287341183 }; +int layer4_block1_conv2_output[] = { 287341184,287441535 }; +int layer4_block1_bn2_input[] = { 287441536,287541887 }; +int layer4_block1_bn2_output[] = { 287541888,287642239 }; +int layer4_block1_conv3_input[] = { 287642240,287742591 }; +int layer4_block1_conv3_output[] = { 287742592,288143999 }; +int layer4_block1_bn3_input[] = { 288144000,288545407 }; +int layer4_block1_bn3_output[] = { 288545408,288946815 }; +int layer4_block2_conv1_input[] = { 288946816,289348223 }; +int layer4_block2_conv1_output[] = { 289348224,289448575 }; +int layer4_block2_bn1_input[] = { 289448576,289548927 }; +int layer4_block2_bn1_output[] = { 289548928,289649279 }; +int layer4_block2_conv2_input[] = { 289649280,289749631 }; +int layer4_block2_conv2_output[] = { 289749632,289849983 }; +int layer4_block2_bn2_input[] = { 289849984,289950335 }; +int layer4_block2_bn2_output[] = { 289950336,290050687 }; +int layer4_block2_conv3_input[] = { 290050688,290151039 }; +int layer4_block2_conv3_output[] = { 290151040,290552447 }; +int layer4_block2_bn3_input[] = { 290552448,290953855 }; +int layer4_block2_bn3_output[] = { 290953856,291355263 }; diff --git a/CNNDemo/ResNet50WeightShape.cc b/CNNDemo/ResNet50WeightShape.cc index 95c7b2d..c64de37 100644 --- a/CNNDemo/ResNet50WeightShape.cc +++ b/CNNDemo/ResNet50WeightShape.cc @@ -336,3 +336,171 @@ int layer1_block2_conv3_input_shape[] = { 1, 64, 56, 56, }; int layer1_block2_conv3_output_shape[] = { 256, 56, 56, }; int layer1_block2_bn3_input_shape[] = { 1, 256, 56, 56, }; int layer1_block2_bn3_output_shape[] = { 256, 56, 56, }; +int layer2_block0_conv1_input_shape[] = { 1, 256, 56, 56, }; +int layer2_block0_conv1_output_shape[] = { 128, 56, 56, }; +int layer2_block0_bn1_input_shape[] = { 1, 128, 56, 56, }; +int layer2_block0_bn1_output_shape[] = { 128, 56, 56, }; +int layer2_block0_conv2_input_shape[] = { 1, 128, 56, 56, }; +int layer2_block0_conv2_output_shape[] = { 128, 28, 28, }; +int layer2_block0_bn2_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block0_bn2_output_shape[] = { 128, 28, 28, }; +int layer2_block0_conv3_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block0_conv3_output_shape[] = { 512, 28, 28, }; +int layer2_block0_bn3_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block0_bn3_output_shape[] = { 512, 28, 28, }; +int layer2_block0_downsample_conv_input_shape[] = { 1, 256, 56, 56, }; +int layer2_block0_downsample_conv_output_shape[] = { 512, 28, 28, }; +int layer2_block0_downsample_bn_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block0_downsample_bn_output_shape[] = { 512, 28, 28, }; +int layer2_block1_conv1_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block1_conv1_output_shape[] = { 128, 28, 28, }; +int layer2_block1_bn1_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block1_bn1_output_shape[] = { 128, 28, 28, }; +int layer2_block1_conv2_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block1_conv2_output_shape[] = { 128, 28, 28, }; +int layer2_block1_bn2_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block1_bn2_output_shape[] = { 128, 28, 28, }; +int layer2_block1_conv3_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block1_conv3_output_shape[] = { 512, 28, 28, }; +int layer2_block1_bn3_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block1_bn3_output_shape[] = { 512, 28, 28, }; +int layer2_block2_conv1_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block2_conv1_output_shape[] = { 128, 28, 28, }; +int layer2_block2_bn1_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block2_bn1_output_shape[] = { 128, 28, 28, }; +int layer2_block2_conv2_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block2_conv2_output_shape[] = { 128, 28, 28, }; +int layer2_block2_bn2_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block2_bn2_output_shape[] = { 128, 28, 28, }; +int layer2_block2_conv3_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block2_conv3_output_shape[] = { 512, 28, 28, }; +int layer2_block2_bn3_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block2_bn3_output_shape[] = { 512, 28, 28, }; +int layer2_block3_conv1_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block3_conv1_output_shape[] = { 128, 28, 28, }; +int layer2_block3_bn1_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block3_bn1_output_shape[] = { 128, 28, 28, }; +int layer2_block3_conv2_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block3_conv2_output_shape[] = { 128, 28, 28, }; +int layer2_block3_bn2_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block3_bn2_output_shape[] = { 128, 28, 28, }; +int layer2_block3_conv3_input_shape[] = { 1, 128, 28, 28, }; +int layer2_block3_conv3_output_shape[] = { 512, 28, 28, }; +int layer2_block3_bn3_input_shape[] = { 1, 512, 28, 28, }; +int layer2_block3_bn3_output_shape[] = { 512, 28, 28, }; +int layer3_block0_conv1_input_shape[] = { 1, 512, 28, 28, }; +int layer3_block0_conv1_output_shape[] = { 256, 28, 28, }; +int layer3_block0_bn1_input_shape[] = { 1, 256, 28, 28, }; +int layer3_block0_bn1_output_shape[] = { 256, 28, 28, }; +int layer3_block0_conv2_input_shape[] = { 1, 256, 28, 28, }; +int layer3_block0_conv2_output_shape[] = { 256, 14, 14, }; +int layer3_block0_bn2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block0_bn2_output_shape[] = { 256, 14, 14, }; +int layer3_block0_conv3_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block0_conv3_output_shape[] = { 1024, 14, 14, }; +int layer3_block0_bn3_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block0_bn3_output_shape[] = { 1024, 14, 14, }; +int layer3_block0_downsample_conv_input_shape[] = { 1, 512, 28, 28, }; +int layer3_block0_downsample_conv_output_shape[] = { 1024, 14, 14, }; +int layer3_block0_downsample_bn_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block0_downsample_bn_output_shape[] = { 1024, 14, 14, }; +int layer3_block1_conv1_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block1_conv1_output_shape[] = { 256, 14, 14, }; +int layer3_block1_bn1_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block1_bn1_output_shape[] = { 256, 14, 14, }; +int layer3_block1_conv2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block1_conv2_output_shape[] = { 256, 14, 14, }; +int layer3_block1_bn2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block1_bn2_output_shape[] = { 256, 14, 14, }; +int layer3_block1_conv3_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block1_conv3_output_shape[] = { 1024, 14, 14, }; +int layer3_block1_bn3_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block1_bn3_output_shape[] = { 1024, 14, 14, }; +int layer3_block2_conv1_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block2_conv1_output_shape[] = { 256, 14, 14, }; +int layer3_block2_bn1_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block2_bn1_output_shape[] = { 256, 14, 14, }; +int layer3_block2_conv2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block2_conv2_output_shape[] = { 256, 14, 14, }; +int layer3_block2_bn2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block2_bn2_output_shape[] = { 256, 14, 14, }; +int layer3_block2_conv3_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block2_conv3_output_shape[] = { 1024, 14, 14, }; +int layer3_block2_bn3_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block2_bn3_output_shape[] = { 1024, 14, 14, }; +int layer3_block3_conv1_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block3_conv1_output_shape[] = { 256, 14, 14, }; +int layer3_block3_bn1_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block3_bn1_output_shape[] = { 256, 14, 14, }; +int layer3_block3_conv2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block3_conv2_output_shape[] = { 256, 14, 14, }; +int layer3_block3_bn2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block3_bn2_output_shape[] = { 256, 14, 14, }; +int layer3_block3_conv3_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block3_conv3_output_shape[] = { 1024, 14, 14, }; +int layer3_block3_bn3_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block3_bn3_output_shape[] = { 1024, 14, 14, }; +int layer3_block4_conv1_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block4_conv1_output_shape[] = { 256, 14, 14, }; +int layer3_block4_bn1_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block4_bn1_output_shape[] = { 256, 14, 14, }; +int layer3_block4_conv2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block4_conv2_output_shape[] = { 256, 14, 14, }; +int layer3_block4_bn2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block4_bn2_output_shape[] = { 256, 14, 14, }; +int layer3_block4_conv3_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block4_conv3_output_shape[] = { 1024, 14, 14, }; +int layer3_block4_bn3_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block4_bn3_output_shape[] = { 1024, 14, 14, }; +int layer3_block5_conv1_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block5_conv1_output_shape[] = { 256, 14, 14, }; +int layer3_block5_bn1_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block5_bn1_output_shape[] = { 256, 14, 14, }; +int layer3_block5_conv2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block5_conv2_output_shape[] = { 256, 14, 14, }; +int layer3_block5_bn2_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block5_bn2_output_shape[] = { 256, 14, 14, }; +int layer3_block5_conv3_input_shape[] = { 1, 256, 14, 14, }; +int layer3_block5_conv3_output_shape[] = { 1024, 14, 14, }; +int layer3_block5_bn3_input_shape[] = { 1, 1024, 14, 14, }; +int layer3_block5_bn3_output_shape[] = { 1024, 14, 14, }; +int layer4_block0_conv1_input_shape[] = { 1, 1024, 14, 14, }; +int layer4_block0_conv1_output_shape[] = { 512, 14, 14, }; +int layer4_block0_bn1_input_shape[] = { 1, 512, 14, 14, }; +int layer4_block0_bn1_output_shape[] = { 512, 14, 14, }; +int layer4_block0_conv2_input_shape[] = { 1, 512, 14, 14, }; +int layer4_block0_conv2_output_shape[] = { 512, 7, 7, }; +int layer4_block0_bn2_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block0_bn2_output_shape[] = { 512, 7, 7, }; +int layer4_block0_conv3_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block0_conv3_output_shape[] = { 2048, 7, 7, }; +int layer4_block0_bn3_input_shape[] = { 1, 2048, 7, 7, }; +int layer4_block0_bn3_output_shape[] = { 2048, 7, 7, }; +int layer4_block0_downsample_conv_input_shape[] = { 1, 1024, 14, 14, }; +int layer4_block0_downsample_conv_output_shape[] = { 2048, 7, 7, }; +int layer4_block0_downsample_bn_input_shape[] = { 1, 2048, 7, 7, }; +int layer4_block0_downsample_bn_output_shape[] = { 2048, 7, 7, }; +int layer4_block1_conv1_input_shape[] = { 1, 2048, 7, 7, }; +int layer4_block1_conv1_output_shape[] = { 512, 7, 7, }; +int layer4_block1_bn1_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block1_bn1_output_shape[] = { 512, 7, 7, }; +int layer4_block1_conv2_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block1_conv2_output_shape[] = { 512, 7, 7, }; +int layer4_block1_bn2_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block1_bn2_output_shape[] = { 512, 7, 7, }; +int layer4_block1_conv3_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block1_conv3_output_shape[] = { 2048, 7, 7, }; +int layer4_block1_bn3_input_shape[] = { 1, 2048, 7, 7, }; +int layer4_block1_bn3_output_shape[] = { 2048, 7, 7, }; +int layer4_block2_conv1_input_shape[] = { 1, 2048, 7, 7, }; +int layer4_block2_conv1_output_shape[] = { 512, 7, 7, }; +int layer4_block2_bn1_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block2_bn1_output_shape[] = { 512, 7, 7, }; +int layer4_block2_conv2_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block2_conv2_output_shape[] = { 512, 7, 7, }; +int layer4_block2_bn2_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block2_bn2_output_shape[] = { 512, 7, 7, }; +int layer4_block2_conv3_input_shape[] = { 1, 512, 7, 7, }; +int layer4_block2_conv3_output_shape[] = { 2048, 7, 7, }; +int layer4_block2_bn3_input_shape[] = { 1, 2048, 7, 7, }; +int layer4_block2_bn3_output_shape[] = { 2048, 7, 7, }; diff --git a/CNNDemo/Resnet50.py b/CNNDemo/Resnet50.py index c7cc2f7..8c97fbe 100644 --- a/CNNDemo/Resnet50.py +++ b/CNNDemo/Resnet50.py @@ -281,6 +281,7 @@ def hook_print(name, m, i, o): def printDick(d, head, obj): + global strg for item in d: if type(d[item]).__name__ == 'dict': objsub = getattr(obj, item, '') @@ -292,24 +293,20 @@ def printDick(d, head, obj): if objsub == '': objsub = obj[item] if d[item] == "Conv2d": - genData( - head+"_"+item+"_weight", objsub.weight) + genData(head+"_"+item+"_weight", objsub.weight) + strg = strg + "\n" if d[item] == "BatchNorm2d": - genData( - head+"_"+item+"_running_mean", objsub.running_mean) - genData( - head+"_"+item+"_running_var", objsub.running_var) - genData( - head+"_"+item+"_weight", objsub.weight) - genData( - head+"_"+item+"_bias", objsub.bias) + genData(head+"_"+item+"_running_mean", objsub.running_mean) + genData(head+"_"+item+"_running_var", objsub.running_var) + genData(head+"_"+item+"_weight", objsub.weight) + genData(head+"_"+item+"_bias", objsub.bias) + strg = strg + "\n" if d[item] == "Linear": - genData( - head+"_"+item+"_weight", objsub.weight) - genData( - head+"_"+item+"_bias", objsub.bias) + genData(head+"_"+item+"_weight", objsub.weight) + genData(head+"_"+item+"_bias", objsub.bias) + strg = strg + "\n" printDick(ResNet50, "RN50", resnet50) @@ -326,6 +323,11 @@ val_loader = torch.utils.data.DataLoader( batch_size=1, shuffle=False, num_workers=1, pin_memory=True) +strg = strg + "\n" +strg = strg + "\n" +strg = strg + "\n" +strg = strg + "\n" +strg = strg + "// val data 0-9 \n" for batch_idx, (data, target) in enumerate(val_loader): genData("input_"+str(batch_idx), data) @@ -333,6 +335,12 @@ for batch_idx, (data, target) in enumerate(val_loader): genData("output_"+str(batch_idx), out) +strg = strg + "\n" +strg = strg + "\n" +strg = strg + "\n" +strg = strg + "\n" +strg = strg + "// input 0 layer output \n" + for batch_idx, (data, target) in enumerate(val_loader): genData("verify_input", data) x = resnet50.conv1(data) @@ -359,6 +367,7 @@ for batch_idx, (data, target) in enumerate(val_loader): break + resnet50.layer1._modules['0'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer1_block0_bn1", m, i, o)) resnet50.layer1._modules['0'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer1_block0_bn2", m, i, o)) resnet50.layer1._modules['0'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer1_block0_bn3", m, i, o)) @@ -383,6 +392,117 @@ resnet50.layer1._modules['2'].conv1.register_forward_hook(lambda m, i, o: hook_p resnet50.layer1._modules['2'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer1_block2_conv2", m, i, o)) resnet50.layer1._modules['2'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer1_block2_conv3", m, i, o)) + + + +resnet50.layer2._modules['0'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer2_block0_bn1", m, i, o)) +resnet50.layer2._modules['0'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer2_block0_bn2", m, i, o)) +resnet50.layer2._modules['0'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer2_block0_bn3", m, i, o)) +resnet50.layer2._modules['0'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer2_block0_conv1", m, i, o)) +resnet50.layer2._modules['0'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer2_block0_conv2", m, i, o)) +resnet50.layer2._modules['0'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer2_block0_conv3", m, i, o)) + +resnet50.layer2._modules['0'].downsample._modules['0'].register_forward_hook(lambda m, i, o: hook_print("layer2_block0_downsample_conv", m, i, o)) +resnet50.layer2._modules['0'].downsample._modules['1'].register_forward_hook(lambda m, i, o: hook_print("layer2_block0_downsample_bn", m, i, o)) + +resnet50.layer2._modules['1'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer2_block1_bn1", m, i, o)) +resnet50.layer2._modules['1'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer2_block1_bn2", m, i, o)) +resnet50.layer2._modules['1'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer2_block1_bn3", m, i, o)) +resnet50.layer2._modules['1'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer2_block1_conv1", m, i, o)) +resnet50.layer2._modules['1'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer2_block1_conv2", m, i, o)) +resnet50.layer2._modules['1'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer2_block1_conv3", m, i, o)) + +resnet50.layer2._modules['2'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer2_block2_bn1", m, i, o)) +resnet50.layer2._modules['2'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer2_block2_bn2", m, i, o)) +resnet50.layer2._modules['2'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer2_block2_bn3", m, i, o)) +resnet50.layer2._modules['2'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer2_block2_conv1", m, i, o)) +resnet50.layer2._modules['2'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer2_block2_conv2", m, i, o)) +resnet50.layer2._modules['2'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer2_block2_conv3", m, i, o)) + +resnet50.layer2._modules['3'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer2_block3_bn1", m, i, o)) +resnet50.layer2._modules['3'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer2_block3_bn2", m, i, o)) +resnet50.layer2._modules['3'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer2_block3_bn3", m, i, o)) +resnet50.layer2._modules['3'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer2_block3_conv1", m, i, o)) +resnet50.layer2._modules['3'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer2_block3_conv2", m, i, o)) +resnet50.layer2._modules['3'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer2_block3_conv3", m, i, o)) + + + + +resnet50.layer3._modules['0'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer3_block0_bn1", m, i, o)) +resnet50.layer3._modules['0'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer3_block0_bn2", m, i, o)) +resnet50.layer3._modules['0'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer3_block0_bn3", m, i, o)) +resnet50.layer3._modules['0'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer3_block0_conv1", m, i, o)) +resnet50.layer3._modules['0'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer3_block0_conv2", m, i, o)) +resnet50.layer3._modules['0'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer3_block0_conv3", m, i, o)) + +resnet50.layer3._modules['0'].downsample._modules['0'].register_forward_hook(lambda m, i, o: hook_print("layer3_block0_downsample_conv", m, i, o)) +resnet50.layer3._modules['0'].downsample._modules['1'].register_forward_hook(lambda m, i, o: hook_print("layer3_block0_downsample_bn", m, i, o)) + +resnet50.layer3._modules['1'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer3_block1_bn1", m, i, o)) +resnet50.layer3._modules['1'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer3_block1_bn2", m, i, o)) +resnet50.layer3._modules['1'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer3_block1_bn3", m, i, o)) +resnet50.layer3._modules['1'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer3_block1_conv1", m, i, o)) +resnet50.layer3._modules['1'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer3_block1_conv2", m, i, o)) +resnet50.layer3._modules['1'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer3_block1_conv3", m, i, o)) + +resnet50.layer3._modules['2'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer3_block2_bn1", m, i, o)) +resnet50.layer3._modules['2'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer3_block2_bn2", m, i, o)) +resnet50.layer3._modules['2'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer3_block2_bn3", m, i, o)) +resnet50.layer3._modules['2'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer3_block2_conv1", m, i, o)) +resnet50.layer3._modules['2'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer3_block2_conv2", m, i, o)) +resnet50.layer3._modules['2'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer3_block2_conv3", m, i, o)) + +resnet50.layer3._modules['3'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer3_block3_bn1", m, i, o)) +resnet50.layer3._modules['3'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer3_block3_bn2", m, i, o)) +resnet50.layer3._modules['3'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer3_block3_bn3", m, i, o)) +resnet50.layer3._modules['3'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer3_block3_conv1", m, i, o)) +resnet50.layer3._modules['3'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer3_block3_conv2", m, i, o)) +resnet50.layer3._modules['3'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer3_block3_conv3", m, i, o)) + +resnet50.layer3._modules['4'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer3_block4_bn1", m, i, o)) +resnet50.layer3._modules['4'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer3_block4_bn2", m, i, o)) +resnet50.layer3._modules['4'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer3_block4_bn3", m, i, o)) +resnet50.layer3._modules['4'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer3_block4_conv1", m, i, o)) +resnet50.layer3._modules['4'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer3_block4_conv2", m, i, o)) +resnet50.layer3._modules['4'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer3_block4_conv3", m, i, o)) + +resnet50.layer3._modules['5'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer3_block5_bn1", m, i, o)) +resnet50.layer3._modules['5'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer3_block5_bn2", m, i, o)) +resnet50.layer3._modules['5'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer3_block5_bn3", m, i, o)) +resnet50.layer3._modules['5'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer3_block5_conv1", m, i, o)) +resnet50.layer3._modules['5'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer3_block5_conv2", m, i, o)) +resnet50.layer3._modules['5'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer3_block5_conv3", m, i, o)) + + + +resnet50.layer4._modules['0'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer4_block0_bn1", m, i, o)) +resnet50.layer4._modules['0'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer4_block0_bn2", m, i, o)) +resnet50.layer4._modules['0'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer4_block0_bn3", m, i, o)) +resnet50.layer4._modules['0'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer4_block0_conv1", m, i, o)) +resnet50.layer4._modules['0'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer4_block0_conv2", m, i, o)) +resnet50.layer4._modules['0'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer4_block0_conv3", m, i, o)) + +resnet50.layer4._modules['0'].downsample._modules['0'].register_forward_hook(lambda m, i, o: hook_print("layer4_block0_downsample_conv", m, i, o)) +resnet50.layer4._modules['0'].downsample._modules['1'].register_forward_hook(lambda m, i, o: hook_print("layer4_block0_downsample_bn", m, i, o)) + +resnet50.layer4._modules['1'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer4_block1_bn1", m, i, o)) +resnet50.layer4._modules['1'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer4_block1_bn2", m, i, o)) +resnet50.layer4._modules['1'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer4_block1_bn3", m, i, o)) +resnet50.layer4._modules['1'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer4_block1_conv1", m, i, o)) +resnet50.layer4._modules['1'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer4_block1_conv2", m, i, o)) +resnet50.layer4._modules['1'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer4_block1_conv3", m, i, o)) + +resnet50.layer4._modules['2'].bn1.register_forward_hook(lambda m, i, o: hook_print("layer4_block2_bn1", m, i, o)) +resnet50.layer4._modules['2'].bn2.register_forward_hook(lambda m, i, o: hook_print("layer4_block2_bn2", m, i, o)) +resnet50.layer4._modules['2'].bn3.register_forward_hook(lambda m, i, o: hook_print("layer4_block2_bn3", m, i, o)) +resnet50.layer4._modules['2'].conv1.register_forward_hook(lambda m, i, o: hook_print("layer4_block2_conv1", m, i, o)) +resnet50.layer4._modules['2'].conv2.register_forward_hook(lambda m, i, o: hook_print("layer4_block2_conv2", m, i, o)) +resnet50.layer4._modules['2'].conv3.register_forward_hook(lambda m, i, o: hook_print("layer4_block2_conv3", m, i, o)) + + + + for batch_idx, (data, target) in enumerate(val_loader): out = resnet50(data) break