| 87 | } |
| 88 | |
| 89 | void scale_columns ( |
| 90 | tensor& out, |
| 91 | const tensor& m, |
| 92 | const tensor& v |
| 93 | ) |
| 94 | { |
| 95 | DLIB_CASSERT(have_same_dimensions(out,m)); |
| 96 | DLIB_CASSERT(is_vector(v)); |
| 97 | if (m.size() == 0 && v.size() == 0) |
| 98 | return; |
| 99 | DLIB_CASSERT(m.size() != 0); |
| 100 | DLIB_CASSERT(m.size()/m.num_samples() == v.size()); |
| 101 | |
| 102 | #ifdef DLIB_USE_CUDA |
| 103 | cuda::scale_columns(out, m, v); |
| 104 | #else |
| 105 | out = scale_columns(mat(m), mat(v)); |
| 106 | #endif |
| 107 | } |
| 108 | |
| 109 | void scale_rows ( |
| 110 | tensor& out, |