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

Function test_add

dlib/test/dnn.cpp:1671–1722  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1669 }
1670
1671 void test_add()
1672 {
1673 print_spinner();
1674 dlib::rand rnd;
1675 tt::tensor_rand trnd;
1676 for (int iter = 0; iter < 300; ++iter)
1677 {
1678 resizable_tensor dest1(rnd.get_random_32bit_number()%4+1,
1679 rnd.get_random_32bit_number()%4+1,
1680 rnd.get_random_32bit_number()%4+1,
1681 rnd.get_random_32bit_number()%4+1);
1682 resizable_tensor dest2;
1683 dest2.copy_size(dest1);
1684 resizable_tensor src1(rnd.get_random_32bit_number()%4+1,
1685 rnd.get_random_32bit_number()%4+1,
1686 rnd.get_random_32bit_number()%4+1,
1687 rnd.get_random_32bit_number()%4+1);
1688 resizable_tensor src2(rnd.get_random_32bit_number()%4+1,
1689 rnd.get_random_32bit_number()%4+1,
1690 rnd.get_random_32bit_number()%4+1,
1691 rnd.get_random_32bit_number()%4+1);
1692
1693 trnd.fill_uniform(dest1);
1694 trnd.fill_uniform(dest2);
1695 trnd.fill_uniform(src1);
1696 trnd.fill_uniform(src2);
1697 cpu::add(dest1, src1, src2);
1698 cuda::add(dest2, src1, src2);
1699
1700 DLIB_TEST(max(abs(mat(dest1) - mat(dest2))) < 1e-5);
1701 }
1702
1703 // make sure we have a test for the case where all tensors have the same
1704 // dimensions.
1705 resizable_tensor dest1(3,4,5,6);
1706 resizable_tensor dest2;
1707 resizable_tensor src1;
1708 resizable_tensor src2;
1709 dest2.copy_size(dest1);
1710 src1.copy_size(dest1);
1711 src2.copy_size(dest1);
1712
1713 trnd.fill_uniform(dest1);
1714 trnd.fill_uniform(dest2);
1715 trnd.fill_uniform(src1);
1716 trnd.fill_uniform(src2);
1717
1718 cpu::add(dest1, src1, src2);
1719 cuda::add(dest2, src1, src2);
1720
1721 DLIB_TEST(max(abs(mat(dest1) - mat(dest2))) < 1e-5);
1722 }
1723
1724 void test_more_ops(const long nr, const long nc)
1725 {

Callers 1

run_testsMethod · 0.85

Calls 7

print_spinnerFunction · 0.85
absFunction · 0.85
copy_sizeMethod · 0.80
addFunction · 0.70
maxFunction · 0.50
matFunction · 0.50

Tested by

no test coverage detected