diff --git a/test/expect/ModelTester.test_alexnet_expect.pkl b/test/expect/ModelTester.test_alexnet_expect.pkl index 5408e33378b..3193af1e764 100644 Binary files a/test/expect/ModelTester.test_alexnet_expect.pkl and b/test/expect/ModelTester.test_alexnet_expect.pkl differ diff --git a/test/expect/ModelTester.test_convnext_base_expect.pkl b/test/expect/ModelTester.test_convnext_base_expect.pkl index e58daf5781b..156d51440ad 100644 Binary files a/test/expect/ModelTester.test_convnext_base_expect.pkl and b/test/expect/ModelTester.test_convnext_base_expect.pkl differ diff --git a/test/expect/ModelTester.test_convnext_large_expect.pkl b/test/expect/ModelTester.test_convnext_large_expect.pkl index 94b6ddaaa85..ab8f9c27dd0 100644 Binary files a/test/expect/ModelTester.test_convnext_large_expect.pkl and b/test/expect/ModelTester.test_convnext_large_expect.pkl differ diff --git a/test/expect/ModelTester.test_convnext_small_expect.pkl b/test/expect/ModelTester.test_convnext_small_expect.pkl index f5bf3b800bf..69b124ec893 100644 Binary files a/test/expect/ModelTester.test_convnext_small_expect.pkl and b/test/expect/ModelTester.test_convnext_small_expect.pkl differ diff --git a/test/expect/ModelTester.test_convnext_tiny_expect.pkl b/test/expect/ModelTester.test_convnext_tiny_expect.pkl index c6fb873f12f..e15098db46c 100644 Binary files a/test/expect/ModelTester.test_convnext_tiny_expect.pkl and b/test/expect/ModelTester.test_convnext_tiny_expect.pkl differ diff --git a/test/expect/ModelTester.test_deeplabv3_mobilenet_v3_large_expect.pkl b/test/expect/ModelTester.test_deeplabv3_mobilenet_v3_large_expect.pkl index 58d6da6c721..38fc2b239af 100644 Binary files a/test/expect/ModelTester.test_deeplabv3_mobilenet_v3_large_expect.pkl and b/test/expect/ModelTester.test_deeplabv3_mobilenet_v3_large_expect.pkl differ diff --git a/test/expect/ModelTester.test_deeplabv3_resnet101_expect.pkl b/test/expect/ModelTester.test_deeplabv3_resnet101_expect.pkl index ac9c251e4e9..2594e63d170 100644 Binary files a/test/expect/ModelTester.test_deeplabv3_resnet101_expect.pkl and b/test/expect/ModelTester.test_deeplabv3_resnet101_expect.pkl differ diff --git a/test/expect/ModelTester.test_deeplabv3_resnet50_expect.pkl b/test/expect/ModelTester.test_deeplabv3_resnet50_expect.pkl index 70e70a92e2c..2ae7df03c3e 100644 Binary files a/test/expect/ModelTester.test_deeplabv3_resnet50_expect.pkl and b/test/expect/ModelTester.test_deeplabv3_resnet50_expect.pkl differ diff --git a/test/expect/ModelTester.test_densenet121_expect.pkl b/test/expect/ModelTester.test_densenet121_expect.pkl index 83bcc3282fb..bf98884f0d2 100644 Binary files a/test/expect/ModelTester.test_densenet121_expect.pkl and b/test/expect/ModelTester.test_densenet121_expect.pkl differ diff --git a/test/expect/ModelTester.test_densenet161_expect.pkl b/test/expect/ModelTester.test_densenet161_expect.pkl index 9b221957014..2c89a730729 100644 Binary files a/test/expect/ModelTester.test_densenet161_expect.pkl and b/test/expect/ModelTester.test_densenet161_expect.pkl differ diff --git a/test/expect/ModelTester.test_densenet169_expect.pkl b/test/expect/ModelTester.test_densenet169_expect.pkl index 42743fb0c80..a95f0cb84a2 100644 Binary files a/test/expect/ModelTester.test_densenet169_expect.pkl and b/test/expect/ModelTester.test_densenet169_expect.pkl differ diff --git a/test/expect/ModelTester.test_densenet201_expect.pkl b/test/expect/ModelTester.test_densenet201_expect.pkl index fd85ca178c9..74cbfea2e37 100644 Binary files a/test/expect/ModelTester.test_densenet201_expect.pkl and b/test/expect/ModelTester.test_densenet201_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b0_expect.pkl b/test/expect/ModelTester.test_efficientnet_b0_expect.pkl index 1de871ce0fb..6ce2b743da3 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b0_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b0_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b1_expect.pkl b/test/expect/ModelTester.test_efficientnet_b1_expect.pkl index 1499a97028e..d5ead734b08 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b1_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b1_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b2_expect.pkl b/test/expect/ModelTester.test_efficientnet_b2_expect.pkl index f0aeb8ec122..740a534ab5e 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b2_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b2_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b3_expect.pkl b/test/expect/ModelTester.test_efficientnet_b3_expect.pkl index 989d6782fe7..c9d78e3af0c 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b3_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b3_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b4_expect.pkl b/test/expect/ModelTester.test_efficientnet_b4_expect.pkl index f4a0cc04bf0..823ae11bdce 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b4_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b4_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b5_expect.pkl b/test/expect/ModelTester.test_efficientnet_b5_expect.pkl index 7c674259cd9..56b668b8f58 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b5_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b5_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b6_expect.pkl b/test/expect/ModelTester.test_efficientnet_b6_expect.pkl index 34dbdd074f1..5570e247637 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b6_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b6_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_b7_expect.pkl b/test/expect/ModelTester.test_efficientnet_b7_expect.pkl index a4b42e80178..6561e95aa4d 100644 Binary files a/test/expect/ModelTester.test_efficientnet_b7_expect.pkl and b/test/expect/ModelTester.test_efficientnet_b7_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_v2_l_expect.pkl b/test/expect/ModelTester.test_efficientnet_v2_l_expect.pkl index a6709c7956d..2006932aaea 100644 Binary files a/test/expect/ModelTester.test_efficientnet_v2_l_expect.pkl and b/test/expect/ModelTester.test_efficientnet_v2_l_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_v2_m_expect.pkl b/test/expect/ModelTester.test_efficientnet_v2_m_expect.pkl index 622e2458e66..21009eb71ae 100644 Binary files a/test/expect/ModelTester.test_efficientnet_v2_m_expect.pkl and b/test/expect/ModelTester.test_efficientnet_v2_m_expect.pkl differ diff --git a/test/expect/ModelTester.test_efficientnet_v2_s_expect.pkl b/test/expect/ModelTester.test_efficientnet_v2_s_expect.pkl index ef798e3a0b0..1915be35b63 100644 Binary files a/test/expect/ModelTester.test_efficientnet_v2_s_expect.pkl and b/test/expect/ModelTester.test_efficientnet_v2_s_expect.pkl differ diff --git a/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_320_fpn_expect.pkl b/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_320_fpn_expect.pkl index 94c6261b7fc..dd0ad8a04ed 100644 Binary files a/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_320_fpn_expect.pkl and b/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_320_fpn_expect.pkl differ diff --git a/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_fpn_expect.pkl b/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_fpn_expect.pkl index f3882de4838..dd0ad8a04ed 100644 Binary files a/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_fpn_expect.pkl and b/test/expect/ModelTester.test_fasterrcnn_mobilenet_v3_large_fpn_expect.pkl differ diff --git a/test/expect/ModelTester.test_fasterrcnn_resnet50_fpn_expect.pkl b/test/expect/ModelTester.test_fasterrcnn_resnet50_fpn_expect.pkl index e95ba5f5398..dd0ad8a04ed 100644 Binary files a/test/expect/ModelTester.test_fasterrcnn_resnet50_fpn_expect.pkl and b/test/expect/ModelTester.test_fasterrcnn_resnet50_fpn_expect.pkl differ diff --git a/test/expect/ModelTester.test_fcn_resnet101_expect.pkl b/test/expect/ModelTester.test_fcn_resnet101_expect.pkl index ae6f21bb95c..a5f567f9123 100644 Binary files a/test/expect/ModelTester.test_fcn_resnet101_expect.pkl and b/test/expect/ModelTester.test_fcn_resnet101_expect.pkl differ diff --git a/test/expect/ModelTester.test_fcn_resnet50_expect.pkl b/test/expect/ModelTester.test_fcn_resnet50_expect.pkl index 29a2382ed89..77533bc0763 100644 Binary files a/test/expect/ModelTester.test_fcn_resnet50_expect.pkl and b/test/expect/ModelTester.test_fcn_resnet50_expect.pkl differ diff --git a/test/expect/ModelTester.test_fcos_resnet50_fpn_expect.pkl b/test/expect/ModelTester.test_fcos_resnet50_fpn_expect.pkl index 0657261d96c..449ae930f67 100644 Binary files a/test/expect/ModelTester.test_fcos_resnet50_fpn_expect.pkl and b/test/expect/ModelTester.test_fcos_resnet50_fpn_expect.pkl differ diff --git a/test/expect/ModelTester.test_googlenet_expect.pkl b/test/expect/ModelTester.test_googlenet_expect.pkl index 46d23d955d4..34c28b1701c 100644 Binary files a/test/expect/ModelTester.test_googlenet_expect.pkl and b/test/expect/ModelTester.test_googlenet_expect.pkl differ diff --git a/test/expect/ModelTester.test_googlenet_quantized_expect.pkl b/test/expect/ModelTester.test_googlenet_quantized_expect.pkl index 686d7bfced6..526a18d297f 100644 Binary files a/test/expect/ModelTester.test_googlenet_quantized_expect.pkl and b/test/expect/ModelTester.test_googlenet_quantized_expect.pkl differ diff --git a/test/expect/ModelTester.test_inception_v3_expect.pkl b/test/expect/ModelTester.test_inception_v3_expect.pkl index 51b95f6dcd5..a894a7b8ff1 100644 Binary files a/test/expect/ModelTester.test_inception_v3_expect.pkl and b/test/expect/ModelTester.test_inception_v3_expect.pkl differ diff --git a/test/expect/ModelTester.test_keypointrcnn_resnet50_fpn_expect.pkl b/test/expect/ModelTester.test_keypointrcnn_resnet50_fpn_expect.pkl index e9eb5ac0689..53323247789 100644 Binary files a/test/expect/ModelTester.test_keypointrcnn_resnet50_fpn_expect.pkl and b/test/expect/ModelTester.test_keypointrcnn_resnet50_fpn_expect.pkl differ diff --git a/test/expect/ModelTester.test_lraspp_mobilenet_v3_large_expect.pkl b/test/expect/ModelTester.test_lraspp_mobilenet_v3_large_expect.pkl index b2aa2ca89a9..c833533f000 100644 Binary files a/test/expect/ModelTester.test_lraspp_mobilenet_v3_large_expect.pkl and b/test/expect/ModelTester.test_lraspp_mobilenet_v3_large_expect.pkl differ diff --git a/test/expect/ModelTester.test_maskrcnn_resnet50_fpn_expect.pkl b/test/expect/ModelTester.test_maskrcnn_resnet50_fpn_expect.pkl index 36b68081672..90ffe050ec7 100644 Binary files a/test/expect/ModelTester.test_maskrcnn_resnet50_fpn_expect.pkl and b/test/expect/ModelTester.test_maskrcnn_resnet50_fpn_expect.pkl differ diff --git a/test/expect/ModelTester.test_mnasnet0_5_expect.pkl b/test/expect/ModelTester.test_mnasnet0_5_expect.pkl index aaa969d60c0..a3345bb94c1 100644 Binary files a/test/expect/ModelTester.test_mnasnet0_5_expect.pkl and b/test/expect/ModelTester.test_mnasnet0_5_expect.pkl differ diff --git a/test/expect/ModelTester.test_mnasnet1_0_expect.pkl b/test/expect/ModelTester.test_mnasnet1_0_expect.pkl index 01bc90ba95f..26ce09b95e0 100644 Binary files a/test/expect/ModelTester.test_mnasnet1_0_expect.pkl and b/test/expect/ModelTester.test_mnasnet1_0_expect.pkl differ diff --git a/test/expect/ModelTester.test_mobilenet_v2_expect.pkl b/test/expect/ModelTester.test_mobilenet_v2_expect.pkl index 42bfdc5c68f..3775106db89 100644 Binary files a/test/expect/ModelTester.test_mobilenet_v2_expect.pkl and b/test/expect/ModelTester.test_mobilenet_v2_expect.pkl differ diff --git a/test/expect/ModelTester.test_mobilenet_v2_quantized_expect.pkl b/test/expect/ModelTester.test_mobilenet_v2_quantized_expect.pkl index 7b65656ae8a..2f1820ca4b7 100644 Binary files a/test/expect/ModelTester.test_mobilenet_v2_quantized_expect.pkl and b/test/expect/ModelTester.test_mobilenet_v2_quantized_expect.pkl differ diff --git a/test/expect/ModelTester.test_mobilenet_v3_large_expect.pkl b/test/expect/ModelTester.test_mobilenet_v3_large_expect.pkl index 9691daf18c7..9652888ec3a 100644 Binary files a/test/expect/ModelTester.test_mobilenet_v3_large_expect.pkl and b/test/expect/ModelTester.test_mobilenet_v3_large_expect.pkl differ diff --git a/test/expect/ModelTester.test_mobilenet_v3_large_quantized_expect.pkl b/test/expect/ModelTester.test_mobilenet_v3_large_quantized_expect.pkl index 7b65656ae8a..d05ef7b3870 100644 Binary files a/test/expect/ModelTester.test_mobilenet_v3_large_quantized_expect.pkl and b/test/expect/ModelTester.test_mobilenet_v3_large_quantized_expect.pkl differ diff --git a/test/expect/ModelTester.test_mobilenet_v3_small_expect.pkl b/test/expect/ModelTester.test_mobilenet_v3_small_expect.pkl index 5373739b53c..67bd0db5c0b 100644 Binary files a/test/expect/ModelTester.test_mobilenet_v3_small_expect.pkl and b/test/expect/ModelTester.test_mobilenet_v3_small_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_x_16gf_expect.pkl b/test/expect/ModelTester.test_regnet_x_16gf_expect.pkl index e4c3f220ece..06b12fe312f 100644 Binary files a/test/expect/ModelTester.test_regnet_x_16gf_expect.pkl and b/test/expect/ModelTester.test_regnet_x_16gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_x_1_6gf_expect.pkl b/test/expect/ModelTester.test_regnet_x_1_6gf_expect.pkl index d9d3216aa57..c0f3e98f0e6 100644 Binary files a/test/expect/ModelTester.test_regnet_x_1_6gf_expect.pkl and b/test/expect/ModelTester.test_regnet_x_1_6gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_x_32gf_expect.pkl b/test/expect/ModelTester.test_regnet_x_32gf_expect.pkl index 071e514433f..fbd0f7ce009 100644 Binary files a/test/expect/ModelTester.test_regnet_x_32gf_expect.pkl and b/test/expect/ModelTester.test_regnet_x_32gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_x_3_2gf_expect.pkl b/test/expect/ModelTester.test_regnet_x_3_2gf_expect.pkl index bd745ed1f05..aaf2aa8bc1a 100644 Binary files a/test/expect/ModelTester.test_regnet_x_3_2gf_expect.pkl and b/test/expect/ModelTester.test_regnet_x_3_2gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_x_400mf_expect.pkl b/test/expect/ModelTester.test_regnet_x_400mf_expect.pkl index f3488deb287..30b5f828222 100644 Binary files a/test/expect/ModelTester.test_regnet_x_400mf_expect.pkl and b/test/expect/ModelTester.test_regnet_x_400mf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_x_800mf_expect.pkl b/test/expect/ModelTester.test_regnet_x_800mf_expect.pkl index efb71925b28..37aad408f2f 100644 Binary files a/test/expect/ModelTester.test_regnet_x_800mf_expect.pkl and b/test/expect/ModelTester.test_regnet_x_800mf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_x_8gf_expect.pkl b/test/expect/ModelTester.test_regnet_x_8gf_expect.pkl index 1a2dbabbd1c..4cdf42df892 100644 Binary files a/test/expect/ModelTester.test_regnet_x_8gf_expect.pkl and b/test/expect/ModelTester.test_regnet_x_8gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_y_16gf_expect.pkl b/test/expect/ModelTester.test_regnet_y_16gf_expect.pkl index 520452985ba..a773b799264 100644 Binary files a/test/expect/ModelTester.test_regnet_y_16gf_expect.pkl and b/test/expect/ModelTester.test_regnet_y_16gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_y_1_6gf_expect.pkl b/test/expect/ModelTester.test_regnet_y_1_6gf_expect.pkl index 633c2d2f238..59a5eb3061f 100644 Binary files a/test/expect/ModelTester.test_regnet_y_1_6gf_expect.pkl and b/test/expect/ModelTester.test_regnet_y_1_6gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_y_32gf_expect.pkl b/test/expect/ModelTester.test_regnet_y_32gf_expect.pkl index 68a59090646..4a51441117c 100644 Binary files a/test/expect/ModelTester.test_regnet_y_32gf_expect.pkl and b/test/expect/ModelTester.test_regnet_y_32gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_y_3_2gf_expect.pkl b/test/expect/ModelTester.test_regnet_y_3_2gf_expect.pkl index c2daa7514d3..aa9d2905650 100644 Binary files a/test/expect/ModelTester.test_regnet_y_3_2gf_expect.pkl and b/test/expect/ModelTester.test_regnet_y_3_2gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_y_400mf_expect.pkl b/test/expect/ModelTester.test_regnet_y_400mf_expect.pkl index 2082c49cab9..44414041132 100644 Binary files a/test/expect/ModelTester.test_regnet_y_400mf_expect.pkl and b/test/expect/ModelTester.test_regnet_y_400mf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_y_800mf_expect.pkl b/test/expect/ModelTester.test_regnet_y_800mf_expect.pkl index a27eefdfd29..6fa8de13e44 100644 Binary files a/test/expect/ModelTester.test_regnet_y_800mf_expect.pkl and b/test/expect/ModelTester.test_regnet_y_800mf_expect.pkl differ diff --git a/test/expect/ModelTester.test_regnet_y_8gf_expect.pkl b/test/expect/ModelTester.test_regnet_y_8gf_expect.pkl index aa12345882f..acc181f78eb 100644 Binary files a/test/expect/ModelTester.test_regnet_y_8gf_expect.pkl and b/test/expect/ModelTester.test_regnet_y_8gf_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnet101_expect.pkl b/test/expect/ModelTester.test_resnet101_expect.pkl index 284aa92b2df..6a8c0510225 100644 Binary files a/test/expect/ModelTester.test_resnet101_expect.pkl and b/test/expect/ModelTester.test_resnet101_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnet152_expect.pkl b/test/expect/ModelTester.test_resnet152_expect.pkl index 708f554fefa..89b4f713b57 100644 Binary files a/test/expect/ModelTester.test_resnet152_expect.pkl and b/test/expect/ModelTester.test_resnet152_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnet18_expect.pkl b/test/expect/ModelTester.test_resnet18_expect.pkl index 6dc83a0606f..d35f77a288a 100644 Binary files a/test/expect/ModelTester.test_resnet18_expect.pkl and b/test/expect/ModelTester.test_resnet18_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnet18_quantized_expect.pkl b/test/expect/ModelTester.test_resnet18_quantized_expect.pkl index 6b424f6a975..4b62a4373cc 100644 Binary files a/test/expect/ModelTester.test_resnet18_quantized_expect.pkl and b/test/expect/ModelTester.test_resnet18_quantized_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnet34_expect.pkl b/test/expect/ModelTester.test_resnet34_expect.pkl index 536075bd40e..b4e40e6a453 100644 Binary files a/test/expect/ModelTester.test_resnet34_expect.pkl and b/test/expect/ModelTester.test_resnet34_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnet50_expect.pkl b/test/expect/ModelTester.test_resnet50_expect.pkl index 0428c5188df..12489a01c82 100644 Binary files a/test/expect/ModelTester.test_resnet50_expect.pkl and b/test/expect/ModelTester.test_resnet50_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnext101_32x8d_expect.pkl b/test/expect/ModelTester.test_resnext101_32x8d_expect.pkl index f8ea2c0e67c..65945291608 100644 Binary files a/test/expect/ModelTester.test_resnext101_32x8d_expect.pkl and b/test/expect/ModelTester.test_resnext101_32x8d_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnext101_32x8d_quantized_expect.pkl b/test/expect/ModelTester.test_resnext101_32x8d_quantized_expect.pkl index ec32f7c6c58..61d3ac59700 100644 Binary files a/test/expect/ModelTester.test_resnext101_32x8d_quantized_expect.pkl and b/test/expect/ModelTester.test_resnext101_32x8d_quantized_expect.pkl differ diff --git a/test/expect/ModelTester.test_resnext50_32x4d_expect.pkl b/test/expect/ModelTester.test_resnext50_32x4d_expect.pkl index 4e5dc89c496..1db877bb9ec 100644 Binary files a/test/expect/ModelTester.test_resnext50_32x4d_expect.pkl and b/test/expect/ModelTester.test_resnext50_32x4d_expect.pkl differ diff --git a/test/expect/ModelTester.test_retinanet_resnet50_fpn_expect.pkl b/test/expect/ModelTester.test_retinanet_resnet50_fpn_expect.pkl index 7fb8d66b080..ffe4b0ce9b9 100644 Binary files a/test/expect/ModelTester.test_retinanet_resnet50_fpn_expect.pkl and b/test/expect/ModelTester.test_retinanet_resnet50_fpn_expect.pkl differ diff --git a/test/expect/ModelTester.test_shufflenet_v2_x0_5_expect.pkl b/test/expect/ModelTester.test_shufflenet_v2_x0_5_expect.pkl index 72af3d712ed..39eccc3276e 100644 Binary files a/test/expect/ModelTester.test_shufflenet_v2_x0_5_expect.pkl and b/test/expect/ModelTester.test_shufflenet_v2_x0_5_expect.pkl differ diff --git a/test/expect/ModelTester.test_shufflenet_v2_x0_5_quantized_expect.pkl b/test/expect/ModelTester.test_shufflenet_v2_x0_5_quantized_expect.pkl index bf650020d19..071e56f8233 100644 Binary files a/test/expect/ModelTester.test_shufflenet_v2_x0_5_quantized_expect.pkl and b/test/expect/ModelTester.test_shufflenet_v2_x0_5_quantized_expect.pkl differ diff --git a/test/expect/ModelTester.test_shufflenet_v2_x1_0_expect.pkl b/test/expect/ModelTester.test_shufflenet_v2_x1_0_expect.pkl index 6feab9857bb..7637fcd97bd 100644 Binary files a/test/expect/ModelTester.test_shufflenet_v2_x1_0_expect.pkl and b/test/expect/ModelTester.test_shufflenet_v2_x1_0_expect.pkl differ diff --git a/test/expect/ModelTester.test_shufflenet_v2_x1_0_quantized_expect.pkl b/test/expect/ModelTester.test_shufflenet_v2_x1_0_quantized_expect.pkl index 68eb12bcebf..536d024d9e3 100644 Binary files a/test/expect/ModelTester.test_shufflenet_v2_x1_0_quantized_expect.pkl and b/test/expect/ModelTester.test_shufflenet_v2_x1_0_quantized_expect.pkl differ diff --git a/test/expect/ModelTester.test_squeezenet1_0_expect.pkl b/test/expect/ModelTester.test_squeezenet1_0_expect.pkl index 12fccaf3f2f..7d7de8b1b74 100644 Binary files a/test/expect/ModelTester.test_squeezenet1_0_expect.pkl and b/test/expect/ModelTester.test_squeezenet1_0_expect.pkl differ diff --git a/test/expect/ModelTester.test_squeezenet1_1_expect.pkl b/test/expect/ModelTester.test_squeezenet1_1_expect.pkl index a560181525e..b82d381ae7b 100644 Binary files a/test/expect/ModelTester.test_squeezenet1_1_expect.pkl and b/test/expect/ModelTester.test_squeezenet1_1_expect.pkl differ diff --git a/test/expect/ModelTester.test_ssd300_vgg16_expect.pkl b/test/expect/ModelTester.test_ssd300_vgg16_expect.pkl index 0bfa91467d3..a9184ec9671 100644 Binary files a/test/expect/ModelTester.test_ssd300_vgg16_expect.pkl and b/test/expect/ModelTester.test_ssd300_vgg16_expect.pkl differ diff --git a/test/expect/ModelTester.test_ssdlite320_mobilenet_v3_large_expect.pkl b/test/expect/ModelTester.test_ssdlite320_mobilenet_v3_large_expect.pkl index f314346af01..a53e2be5f20 100644 Binary files a/test/expect/ModelTester.test_ssdlite320_mobilenet_v3_large_expect.pkl and b/test/expect/ModelTester.test_ssdlite320_mobilenet_v3_large_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg11_bn_expect.pkl b/test/expect/ModelTester.test_vgg11_bn_expect.pkl index ba3db474ae2..efbcb04bb2c 100644 Binary files a/test/expect/ModelTester.test_vgg11_bn_expect.pkl and b/test/expect/ModelTester.test_vgg11_bn_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg11_expect.pkl b/test/expect/ModelTester.test_vgg11_expect.pkl index d7a7f3da7e4..c696f23fe9e 100644 Binary files a/test/expect/ModelTester.test_vgg11_expect.pkl and b/test/expect/ModelTester.test_vgg11_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg13_bn_expect.pkl b/test/expect/ModelTester.test_vgg13_bn_expect.pkl index e872729eba3..0b27c53bcbe 100644 Binary files a/test/expect/ModelTester.test_vgg13_bn_expect.pkl and b/test/expect/ModelTester.test_vgg13_bn_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg13_expect.pkl b/test/expect/ModelTester.test_vgg13_expect.pkl index ce387c2ffb7..9f746e87d39 100644 Binary files a/test/expect/ModelTester.test_vgg13_expect.pkl and b/test/expect/ModelTester.test_vgg13_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg16_bn_expect.pkl b/test/expect/ModelTester.test_vgg16_bn_expect.pkl index 30cd9c983f6..a67c67c26b5 100644 Binary files a/test/expect/ModelTester.test_vgg16_bn_expect.pkl and b/test/expect/ModelTester.test_vgg16_bn_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg16_expect.pkl b/test/expect/ModelTester.test_vgg16_expect.pkl index 0e2e4fe0c01..032d4c2ba6d 100644 Binary files a/test/expect/ModelTester.test_vgg16_expect.pkl and b/test/expect/ModelTester.test_vgg16_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg19_bn_expect.pkl b/test/expect/ModelTester.test_vgg19_bn_expect.pkl index c20b7a22247..414a18e2a37 100644 Binary files a/test/expect/ModelTester.test_vgg19_bn_expect.pkl and b/test/expect/ModelTester.test_vgg19_bn_expect.pkl differ diff --git a/test/expect/ModelTester.test_vgg19_expect.pkl b/test/expect/ModelTester.test_vgg19_expect.pkl index 6b42831a1c6..4e1ab9bd270 100644 Binary files a/test/expect/ModelTester.test_vgg19_expect.pkl and b/test/expect/ModelTester.test_vgg19_expect.pkl differ diff --git a/test/expect/ModelTester.test_vit_b_16_expect.pkl b/test/expect/ModelTester.test_vit_b_16_expect.pkl index 1f846beb6a0..6939e2f9a11 100644 Binary files a/test/expect/ModelTester.test_vit_b_16_expect.pkl and b/test/expect/ModelTester.test_vit_b_16_expect.pkl differ diff --git a/test/expect/ModelTester.test_vit_b_32_expect.pkl b/test/expect/ModelTester.test_vit_b_32_expect.pkl index 1f846beb6a0..7a545f92a2b 100644 Binary files a/test/expect/ModelTester.test_vit_b_32_expect.pkl and b/test/expect/ModelTester.test_vit_b_32_expect.pkl differ diff --git a/test/expect/ModelTester.test_vit_l_16_expect.pkl b/test/expect/ModelTester.test_vit_l_16_expect.pkl index 1f846beb6a0..5ccb11077d1 100644 Binary files a/test/expect/ModelTester.test_vit_l_16_expect.pkl and b/test/expect/ModelTester.test_vit_l_16_expect.pkl differ diff --git a/test/expect/ModelTester.test_vit_l_32_expect.pkl b/test/expect/ModelTester.test_vit_l_32_expect.pkl index 1f846beb6a0..52cb888f299 100644 Binary files a/test/expect/ModelTester.test_vit_l_32_expect.pkl and b/test/expect/ModelTester.test_vit_l_32_expect.pkl differ diff --git a/test/expect/ModelTester.test_wide_resnet101_2_expect.pkl b/test/expect/ModelTester.test_wide_resnet101_2_expect.pkl index 28b9312e9c8..2e019cc5551 100644 Binary files a/test/expect/ModelTester.test_wide_resnet101_2_expect.pkl and b/test/expect/ModelTester.test_wide_resnet101_2_expect.pkl differ diff --git a/test/expect/ModelTester.test_wide_resnet50_2_expect.pkl b/test/expect/ModelTester.test_wide_resnet50_2_expect.pkl index 09bbb39a69c..b2a0e1d2daf 100644 Binary files a/test/expect/ModelTester.test_wide_resnet50_2_expect.pkl and b/test/expect/ModelTester.test_wide_resnet50_2_expect.pkl differ diff --git a/test/test_models.py b/test/test_models.py index d657475bafb..6f604dbe379 100644 --- a/test/test_models.py +++ b/test/test_models.py @@ -29,51 +29,6 @@ def get_models_from_module(module): ] -@pytest.fixture -def disable_weight_loading(mocker): - """When testing models, the two slowest operations are the downloading of the weights to a file and loading them - into the model. Unless, you want to test against specific weights, these steps can be disabled without any - drawbacks. - - Including this fixture into the signature of your test, i.e. `test_foo(disable_weight_loading)`, will recurse - through all models in `torchvision.models` and will patch all occurrences of the function - `download_state_dict_from_url` as well as the method `load_state_dict` on all subclasses of `nn.Module` to be - no-ops. - - .. warning: - - Loaded models are still executable as normal, but will always have random weights. Make sure to not use this - fixture if you want to compare the model output against reference values. - - """ - starting_point = models - function_name = "load_state_dict_from_url" - method_name = "load_state_dict" - - module_names = {info.name for info in pkgutil.walk_packages(starting_point.__path__, f"{starting_point.__name__}.")} - targets = {f"torchvision._internally_replaced_utils.{function_name}", f"torch.nn.Module.{method_name}"} - for name in module_names: - module = sys.modules.get(name) - if not module: - continue - - if function_name in module.__dict__: - targets.add(f"{module.__name__}.{function_name}") - - targets.update( - { - f"{module.__name__}.{obj.__name__}.{method_name}" - for obj in module.__dict__.values() - if isinstance(obj, type) and issubclass(obj, nn.Module) and method_name in obj.__dict__ - } - ) - - for target in targets: - # See https://github.com/pytorch/vision/pull/4867#discussion_r743677802 for details - with contextlib.suppress(AttributeError): - mocker.patch(target) - - def _get_expected_file(name=None): # Determine expected file based on environment expected_file_base = get_relative_path(os.path.realpath(__file__), "expect") @@ -107,10 +62,6 @@ def _assert_expected(output, name, prec=None, atol=None, rtol=None): filename = {os.path.basename(expected_file)} print(f"Accepting updated output for {filename}:\n\n{output}") torch.save(output, expected_file) - MAX_PICKLE_SIZE = 50 * 1000 # 50 KB - binary_size = os.path.getsize(expected_file) - if binary_size > MAX_PICKLE_SIZE: - raise RuntimeError(f"The output for {filename}, is larger than 50kb - got {binary_size}kb") else: expected = torch.load(expected_file) rtol = rtol or prec # keeping prec param for legacy reason, but could be removed ideally @@ -240,47 +191,6 @@ def _check_input_backprop(model, inputs): # the _test_*_model methods. _model_params = { "inception_v3": {"input_shape": (1, 3, 299, 299)}, - "retinanet_resnet50_fpn": { - "num_classes": 20, - "score_thresh": 0.01, - "min_size": 224, - "max_size": 224, - "input_shape": (3, 224, 224), - }, - "keypointrcnn_resnet50_fpn": { - "num_classes": 2, - "min_size": 224, - "max_size": 224, - "box_score_thresh": 0.15, - "input_shape": (3, 224, 224), - }, - "fasterrcnn_resnet50_fpn": { - "num_classes": 20, - "min_size": 224, - "max_size": 224, - "input_shape": (3, 224, 224), - }, - "fcos_resnet50_fpn": { - "num_classes": 2, - "score_thresh": 0.05, - "min_size": 224, - "max_size": 224, - "input_shape": (3, 224, 224), - }, - "maskrcnn_resnet50_fpn": { - "num_classes": 10, - "min_size": 224, - "max_size": 224, - "input_shape": (3, 224, 224), - }, - "fasterrcnn_mobilenet_v3_large_fpn": { - "box_score_thresh": 0.02076, - }, - "fasterrcnn_mobilenet_v3_large_320_fpn": { - "box_score_thresh": 0.02076, - "rpn_pre_nms_top_n_test": 1000, - "rpn_post_nms_top_n_test": 1000, - }, } # speeding up slow models: slow_models = [ @@ -302,261 +212,18 @@ def _check_input_backprop(model, inputs): _model_params[m] = {"input_shape": (1, 3, 64, 64)} -# The following contains configuration and expected values to be used tests that are model specific -_model_tests_values = { - "retinanet_resnet50_fpn": { - "max_trainable": 5, - "n_trn_params_per_layer": [36, 46, 65, 78, 88, 89], - }, - "keypointrcnn_resnet50_fpn": { - "max_trainable": 5, - "n_trn_params_per_layer": [48, 58, 77, 90, 100, 101], - }, - "fasterrcnn_resnet50_fpn": { - "max_trainable": 5, - "n_trn_params_per_layer": [30, 40, 59, 72, 82, 83], - }, - "maskrcnn_resnet50_fpn": { - "max_trainable": 5, - "n_trn_params_per_layer": [42, 52, 71, 84, 94, 95], - }, - "fasterrcnn_mobilenet_v3_large_fpn": { - "max_trainable": 6, - "n_trn_params_per_layer": [22, 23, 44, 70, 91, 97, 100], - }, - "fasterrcnn_mobilenet_v3_large_320_fpn": { - "max_trainable": 6, - "n_trn_params_per_layer": [22, 23, 44, 70, 91, 97, 100], - }, - "ssd300_vgg16": { - "max_trainable": 5, - "n_trn_params_per_layer": [45, 51, 57, 63, 67, 71], - }, - "ssdlite320_mobilenet_v3_large": { - "max_trainable": 6, - "n_trn_params_per_layer": [96, 99, 138, 200, 239, 257, 266], - }, - "fcos_resnet50_fpn": { - "max_trainable": 5, - "n_trn_params_per_layer": [54, 64, 83, 96, 106, 107], - }, -} - - -def _make_sliced_model(model, stop_layer): - layers = OrderedDict() - for name, layer in model.named_children(): - layers[name] = layer - if name == stop_layer: - break - new_model = torch.nn.Sequential(layers) - return new_model - - -@pytest.mark.parametrize("model_fn", [models.densenet121, models.densenet169, models.densenet201, models.densenet161]) -def test_memory_efficient_densenet(model_fn): - input_shape = (1, 3, 300, 300) - x = torch.rand(input_shape) - - model1 = model_fn(num_classes=50, memory_efficient=True) - params = model1.state_dict() - num_params = sum(x.numel() for x in model1.parameters()) - model1.eval() - out1 = model1(x) - out1.sum().backward() - num_grad = sum(x.grad.numel() for x in model1.parameters() if x.grad is not None) - - model2 = model_fn(num_classes=50, memory_efficient=False) - model2.load_state_dict(params) - model2.eval() - out2 = model2(x) - - assert num_params == num_grad - torch.testing.assert_close(out1, out2, rtol=0.0, atol=1e-5) - - _check_input_backprop(model1, x) - _check_input_backprop(model2, x) - - -@pytest.mark.parametrize("dilate_layer_2", (True, False)) -@pytest.mark.parametrize("dilate_layer_3", (True, False)) -@pytest.mark.parametrize("dilate_layer_4", (True, False)) -def test_resnet_dilation(dilate_layer_2, dilate_layer_3, dilate_layer_4): - # TODO improve tests to also check that each layer has the right dimensionality - model = models.resnet50(replace_stride_with_dilation=(dilate_layer_2, dilate_layer_3, dilate_layer_4)) - model = _make_sliced_model(model, stop_layer="layer4") - model.eval() - x = torch.rand(1, 3, 224, 224) - out = model(x) - f = 2 ** sum((dilate_layer_2, dilate_layer_3, dilate_layer_4)) - assert out.shape == (1, 2048, 7 * f, 7 * f) - - -def test_mobilenet_v2_residual_setting(): - model = models.mobilenet_v2(inverted_residual_setting=[[1, 16, 1, 1], [6, 24, 2, 2]]) - model.eval() - x = torch.rand(1, 3, 224, 224) - out = model(x) - assert out.shape[-1] == 1000 - - -@pytest.mark.parametrize("model_fn", [models.mobilenet_v2, models.mobilenet_v3_large, models.mobilenet_v3_small]) -def test_mobilenet_norm_layer(model_fn): - model = model_fn() - assert any(isinstance(x, nn.BatchNorm2d) for x in model.modules()) - - def get_gn(num_channels): - return nn.GroupNorm(1, num_channels) - - model = model_fn(norm_layer=get_gn) - assert not (any(isinstance(x, nn.BatchNorm2d) for x in model.modules())) - assert any(isinstance(x, nn.GroupNorm) for x in model.modules()) - - -def test_inception_v3_eval(): - # replacement for models.inception_v3(pretrained=True) that does not download weights - kwargs = {} - kwargs["transform_input"] = True - kwargs["aux_logits"] = True - kwargs["init_weights"] = False - name = "inception_v3" - model = models.Inception3(**kwargs) - model.aux_logits = False - model.AuxLogits = None - model = model.eval() - x = torch.rand(1, 3, 299, 299) - _check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(name, None)) - _check_input_backprop(model, x) - - -def test_fasterrcnn_double(): - model = models.detection.fasterrcnn_resnet50_fpn(num_classes=50, pretrained_backbone=False) - model.double() - model.eval() - input_shape = (3, 300, 300) - x = torch.rand(input_shape, dtype=torch.float64) - model_input = [x] - out = model(model_input) - assert model_input[0] is x - assert len(out) == 1 - assert "boxes" in out[0] - assert "scores" in out[0] - assert "labels" in out[0] - _check_input_backprop(model, model_input) - - -def test_googlenet_eval(): - # replacement for models.googlenet(pretrained=True) that does not download weights - kwargs = {} - kwargs["transform_input"] = True - kwargs["aux_logits"] = True - kwargs["init_weights"] = False - name = "googlenet" - model = models.GoogLeNet(**kwargs) - model.aux_logits = False - model.aux1 = None - model.aux2 = None - model = model.eval() - x = torch.rand(1, 3, 224, 224) - _check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(name, None)) - _check_input_backprop(model, x) - - -@needs_cuda -def test_fasterrcnn_switch_devices(): - def checkOut(out): - assert len(out) == 1 - assert "boxes" in out[0] - assert "scores" in out[0] - assert "labels" in out[0] - - model = models.detection.fasterrcnn_resnet50_fpn(num_classes=50, pretrained_backbone=False) - model.cuda() - model.eval() - input_shape = (3, 300, 300) - x = torch.rand(input_shape, device="cuda") - model_input = [x] - out = model(model_input) - assert model_input[0] is x - - checkOut(out) - - with torch.cuda.amp.autocast(): - out = model(model_input) - - checkOut(out) - - _check_input_backprop(model, model_input) - - # now switch to cpu and make sure it works - model.cpu() - x = x.cpu() - out_cpu = model([x]) - - checkOut(out_cpu) - - _check_input_backprop(model, [x]) - - -def test_generalizedrcnn_transform_repr(): - - min_size, max_size = 224, 299 - image_mean = [0.485, 0.456, 0.406] - image_std = [0.229, 0.224, 0.225] - - t = models.detection.transform.GeneralizedRCNNTransform( - min_size=min_size, max_size=max_size, image_mean=image_mean, image_std=image_std - ) - - # Check integrity of object __repr__ attribute - expected_string = "GeneralizedRCNNTransform(" - _indent = "\n " - expected_string += f"{_indent}Normalize(mean={image_mean}, std={image_std})" - expected_string += f"{_indent}Resize(min_size=({min_size},), max_size={max_size}, " - expected_string += "mode='bilinear')\n)" - assert t.__repr__() == expected_string - - -test_vit_conv_stem_configs = [ - models.vision_transformer.ConvStemConfig(kernel_size=3, stride=2, out_channels=64), - models.vision_transformer.ConvStemConfig(kernel_size=3, stride=2, out_channels=128), - models.vision_transformer.ConvStemConfig(kernel_size=3, stride=1, out_channels=128), - models.vision_transformer.ConvStemConfig(kernel_size=3, stride=2, out_channels=256), - models.vision_transformer.ConvStemConfig(kernel_size=3, stride=1, out_channels=256), - models.vision_transformer.ConvStemConfig(kernel_size=3, stride=2, out_channels=512), -] - - -def vitc_b_16(**kwargs: Any): - return models.VisionTransformer( - image_size=224, - patch_size=16, - num_layers=12, - num_heads=12, - hidden_dim=768, - mlp_dim=3072, - conv_stem_configs=test_vit_conv_stem_configs, - **kwargs, - ) - - -@pytest.mark.parametrize("model_fn", [vitc_b_16]) -@pytest.mark.parametrize("dev", cpu_and_gpu()) -def test_vitc_models(model_fn, dev): - test_classification_model(model_fn, dev) - - @pytest.mark.parametrize("model_fn", get_models_from_module(models)) @pytest.mark.parametrize("dev", cpu_and_gpu()) def test_classification_model(model_fn, dev): set_rng_seed(0) defaults = { - "num_classes": 50, "input_shape": (1, 3, 224, 224), + "pretrained": True, } model_name = model_fn.__name__ + if model_name in {"mnasnet0_75", "mnasnet1_3", "shufflenet_v2_x1_5", "shufflenet_v2_x2_0", "regnet_y_128gf"}: + return # No checkpoints kwargs = {**defaults, **_model_params.get(model_name, {})} - num_classes = kwargs.get("num_classes") input_shape = kwargs.pop("input_shape") model = model_fn(**kwargs) @@ -565,7 +232,6 @@ def test_classification_model(model_fn, dev): x = torch.rand(input_shape).to(device=dev) out = model(x) _assert_expected(out.cpu(), model_name, prec=0.1) - assert out.shape[-1] == num_classes _check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(model_name, None), eager_out=out) _check_fx_compatible(model, x, eager_out=out) @@ -575,7 +241,6 @@ def test_classification_model(model_fn, dev): # See autocast_flaky_numerics comment at top of file. if model_name not in autocast_flaky_numerics: _assert_expected(out.cpu(), model_name, prec=0.1) - assert out.shape[-1] == 50 _check_input_backprop(model, x) @@ -585,9 +250,8 @@ def test_classification_model(model_fn, dev): def test_segmentation_model(model_fn, dev): set_rng_seed(0) defaults = { - "num_classes": 10, - "pretrained_backbone": False, "input_shape": (1, 3, 32, 32), + "pretrained": True, } model_name = model_fn.__name__ kwargs = {**defaults, **_model_params.get(model_name, {})} @@ -647,9 +311,8 @@ def check_out(out): def test_detection_model(model_fn, dev): set_rng_seed(0) defaults = { - "num_classes": 50, - "pretrained_backbone": False, "input_shape": (3, 300, 300), + "pretrained": True, } model_name = model_fn.__name__ kwargs = {**defaults, **_model_params.get(model_name, {})} @@ -740,35 +403,6 @@ def compute_mean_std(tensor): _check_input_backprop(model, model_input) -@pytest.mark.parametrize("model_fn", get_models_from_module(models.detection)) -def test_detection_model_validation(model_fn): - set_rng_seed(0) - model = model_fn(num_classes=50, pretrained_backbone=False) - input_shape = (3, 300, 300) - x = [torch.rand(input_shape)] - - # validate that targets are present in training - with pytest.raises(ValueError): - model(x) - - # validate type - targets = [{"boxes": 0.0}] - with pytest.raises(TypeError): - model(x, targets=targets) - - # validate boxes shape - for boxes in (torch.rand((4,)), torch.rand((1, 5))): - targets = [{"boxes": boxes}] - with pytest.raises(ValueError): - model(x, targets=targets) - - # validate that no degenerate boxes are present - boxes = torch.tensor([[1, 3, 1, 4], [2, 4, 3, 4]]) - targets = [{"boxes": boxes}] - with pytest.raises(ValueError): - model(x, targets=targets) - - @pytest.mark.parametrize("model_fn", get_models_from_module(models.video)) @pytest.mark.parametrize("dev", cpu_and_gpu()) def test_video_model(model_fn, dev): @@ -777,19 +411,17 @@ def test_video_model(model_fn, dev): input_shape = (1, 3, 4, 112, 112) model_name = model_fn.__name__ # test both basicblock and Bottleneck - model = model_fn(num_classes=50) + model = model_fn(pretrained=True) model.eval().to(device=dev) # RNG always on CPU, to ensure x in cuda tests is bitwise identical to x in cpu tests x = torch.rand(input_shape).to(device=dev) out = model(x) _check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(model_name, None), eager_out=out) _check_fx_compatible(model, x, eager_out=out) - assert out.shape[-1] == 50 if dev == torch.device("cuda"): with torch.cuda.amp.autocast(): out = model(x) - assert out.shape[-1] == 50 _check_input_backprop(model, x) @@ -805,9 +437,8 @@ def test_video_model(model_fn, dev): def test_quantized_classification_model(model_fn): set_rng_seed(0) defaults = { - "num_classes": 5, "input_shape": (1, 3, 224, 224), - "pretrained": False, + "pretrained": True, "quantize": True, } model_name = model_fn.__name__ @@ -822,7 +453,6 @@ def test_quantized_classification_model(model_fn): if model_name not in quantized_flaky_models: _assert_expected(out, model_name + "_quantized", prec=0.1) - assert out.shape[-1] == 5 _check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(model_name, None), eager_out=out) _check_fx_compatible(model, x, eager_out=out) else: @@ -851,18 +481,6 @@ def test_quantized_classification_model(model_fn): torch.ao.quantization.convert(model, inplace=True) -@pytest.mark.parametrize("model_fn", get_models_from_module(models.detection)) -def test_detection_model_trainable_backbone_layers(model_fn, disable_weight_loading): - model_name = model_fn.__name__ - max_trainable = _model_tests_values[model_name]["max_trainable"] - n_trainable_params = [] - for trainable_layers in range(0, max_trainable + 1): - model = model_fn(pretrained=False, pretrained_backbone=True, trainable_backbone_layers=trainable_layers) - - n_trainable_params.append(len([p for p in model.parameters() if p.requires_grad])) - assert n_trainable_params == _model_tests_values[model_name]["n_trn_params_per_layer"] - - @needs_cuda @pytest.mark.parametrize("model_builder", (models.optical_flow.raft_large, models.optical_flow.raft_small)) @pytest.mark.parametrize("scripted", (False, True)) @@ -876,7 +494,7 @@ def test_raft(model_builder, scripted): # reduced to 1) corr_block = models.optical_flow.raft.CorrBlock(num_levels=2, radius=2) - model = model_builder(corr_block=corr_block).eval().to("cuda") + model = model_builder(corr_block=corr_block, pretrained=True).eval().to("cuda") if scripted: model = torch.jit.script(model)