@@ -1517,6 +1517,48 @@ TEST(pooling_forward_gpu, b_fs_yx_fsv4)
1517
1517
} // for (int j = 0; F_array[j]; i++)
1518
1518
}
1519
1519
1520
+ TEST (pooling_forward_gpu, fs_b_yx_fsv32_int8)
1521
+ {
1522
+ auto & engine = get_test_engine ();
1523
+
1524
+ auto input_prim = engine.allocate_memory ({ data_types::f32, format::yxfb, { 1 , 32 , 1 , 2 } });
1525
+
1526
+ topology topology;
1527
+ topology.add (input_layout (" input" , input_prim->get_layout ()));
1528
+ topology.add (reorder (" reorder_input" , input_info (" input" ), layout (data_types::i8, format::fs_b_yx_fsv32, { 1 , 32 , 1 , 2 })));
1529
+ topology.add (pooling (" avg_pooling" , input_info (" reorder_input" ), pooling_mode::average, { 7 , 7 }, { 2 , 2 }));
1530
+ topology.add (reorder (" reorder_after_pooling" , input_info (" avg_pooling" ), layout (data_types::f32, format::fs_b_yx_fsv32, { 1 , 32 , 1 , 1 })));
1531
+
1532
+ network network (engine, topology, get_test_default_config (engine));
1533
+ set_values (input_prim, { 41 .f , 42 .f , 43 .f , 44 .f , 45 .f , 46 .f , 47 .f , 48 .f ,
1534
+ 11 .f , 12 .f , 13 .f , 14 .f , 15 .f , 16 .f , 17 .f , 18 .f ,
1535
+ 21 .f , 22 .f , 23 .f , 24 .f , 25 .f , 26 .f , 27 .f , 28 .f ,
1536
+ 31 .f , 32 .f , 33 .f , 34 .f , 35 .f , 36 .f , 37 .f , 38 .f ,
1537
+
1538
+ 31 .f , 32 .f , 33 .f , 34 .f , 35 .f , 36 .f , 37 .f , 38 .f ,
1539
+ 21 .f , 22 .f , 23 .f , 24 .f , 25 .f , 26 .f , 27 .f , 28 .f ,
1540
+ 51 .f , 52 .f , 53 .f , 54 .f , 55 .f , 56 .f , 57 .f , 58 .f ,
1541
+ 11 .f , 12 .f , 13 .f , 14 .f , 15 .f , 16 .f , 17 .f , 18 .f });
1542
+ network.set_input_data (" input" , input_prim);
1543
+
1544
+ auto outputs = network.execute ();
1545
+ ASSERT_EQ (outputs.size (), size_t (1 ));
1546
+ ASSERT_EQ (outputs.begin ()->first , " reorder_after_pooling" );
1547
+
1548
+ auto output_prim = outputs.begin ()->second .get_memory ();
1549
+
1550
+ cldnn::mem_lock<float > output_ptr (output_prim, get_test_stream ());
1551
+
1552
+ std::vector<float > ref_data = { 36 .f , 37 .f , 38 .f , 39 .f , 40 .f , 41 .f , 42 .f , 43 .f ,
1553
+ 16 .f , 17 .f , 18 .f , 19 .f , 20 .f , 21 .f , 22 .f , 23 .f ,
1554
+ 36 .f , 37 .f , 38 .f , 39 .f , 40 .f , 41 .f , 42 .f , 43 .f ,
1555
+ 21 .f , 22 .f , 23 .f , 24 .f , 25 .f , 26 .f , 27 .f , 28 .f };
1556
+
1557
+ for (size_t i = 0 ; i < ref_data.size (); i++) {
1558
+ ASSERT_EQ (ref_data[i], float (output_ptr[i]));
1559
+ }
1560
+ }
1561
+
1520
1562
TEST (pooling_forward_gpu, fs_b_yx_fsv32_avg_3x3_input_2x2_pool_1x1_stride_2x2_output)
1521
1563
{
1522
1564
auto & engine = get_test_engine ();
0 commit comments