MCPcopy Create free account
hub / github.com/davisking/dlib / test_multiply_zero_padded

Function test_multiply_zero_padded

dlib/test/dnn.cpp:1613–1669  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1611 }
1612
1613 void test_multiply_zero_padded()
1614 {
1615 print_spinner();
1616 dlib::rand rnd;
1617 tt::tensor_rand trnd;
1618 for (int iter = 0; iter < 300; ++iter)
1619 {
1620 resizable_tensor dest1(rnd.get_random_32bit_number()%4+1,
1621 rnd.get_random_32bit_number()%4+1,
1622 rnd.get_random_32bit_number()%4+1,
1623 rnd.get_random_32bit_number()%4+1);
1624 resizable_tensor dest2;
1625 dest2.copy_size(dest1);
1626 resizable_tensor src1(rnd.get_random_32bit_number()%4+1,
1627 rnd.get_random_32bit_number()%4+1,
1628 rnd.get_random_32bit_number()%4+1,
1629 rnd.get_random_32bit_number()%4+1);
1630 resizable_tensor src2(rnd.get_random_32bit_number()%4+1,
1631 rnd.get_random_32bit_number()%4+1,
1632 rnd.get_random_32bit_number()%4+1,
1633 rnd.get_random_32bit_number()%4+1);
1634
1635 trnd.fill_uniform(dest1);
1636 trnd.fill_uniform(dest2);
1637 trnd.fill_uniform(src1);
1638 trnd.fill_uniform(src2);
1639 cpu::multiply_zero_padded(false, dest1, src1, src2);
1640 cuda::multiply_zero_padded(false, dest2, src1, src2);
1641 DLIB_TEST(max(abs(mat(dest1) - mat(dest2))) < 1e-5);
1642
1643 cpu::multiply_zero_padded(true, dest1, src1, src2);
1644 cuda::multiply_zero_padded(true, dest2, src1, src2);
1645 DLIB_TEST(max(abs(mat(dest1) - mat(dest2))) < 1e-5);
1646 }
1647
1648 // make sure we have a test for the case where all tensors have the same
1649 // dimensions.
1650 resizable_tensor dest1(3,4,5,6);
1651 resizable_tensor dest2;
1652 resizable_tensor src1;
1653 resizable_tensor src2;
1654 dest2.copy_size(dest1);
1655 src1.copy_size(dest1);
1656 src2.copy_size(dest1);
1657
1658 trnd.fill_uniform(dest1);
1659 trnd.fill_uniform(dest2);
1660 trnd.fill_uniform(src1);
1661 trnd.fill_uniform(src2);
1662 cpu::multiply_zero_padded(false, dest1, src1, src2);
1663 cuda::multiply_zero_padded(false, dest2, src1, src2);
1664 DLIB_TEST(max(abs(mat(dest1) - mat(dest2))) < 1e-5);
1665
1666 cpu::multiply_zero_padded(true, dest1, src1, src2);
1667 cuda::multiply_zero_padded(true, dest2, src1, src2);
1668 DLIB_TEST(max(abs(mat(dest1) - mat(dest2))) < 1e-5);
1669 }
1670

Callers 1

run_testsMethod · 0.85

Calls 7

print_spinnerFunction · 0.85
absFunction · 0.85
copy_sizeMethod · 0.80
multiply_zero_paddedFunction · 0.50
maxFunction · 0.50
matFunction · 0.50

Tested by

no test coverage detected