Commit 9eed5974 authored by Davis King's avatar Davis King

Cleaned up assert statements a bit.

parent bb60d061
......@@ -861,7 +861,7 @@ namespace dlib
template <typename solver_type>
void update_parameters(sstack<solver_type> solvers, double learning_rate)
{
DLIB_CASSERT(solvers.size()>=num_computational_layers,"");
DLIB_CASSERT(solvers.size()>=num_computational_layers);
// Don't try to adjust the parameters if this layer doesn't have any or the
// learning rate is disabled for this layer.
if (params_grad.size() != 0 && get_learning_rate_multiplier(details) != 0)
......@@ -1158,7 +1158,7 @@ namespace dlib
const tensor& forward (const tensor& x)
{
DLIB_CASSERT(sample_expansion_factor() != 0, "You must call to_tensor() before this function can be used.");
DLIB_CASSERT(x.num_samples()%sample_expansion_factor() == 0,"");
DLIB_CASSERT(x.num_samples()%sample_expansion_factor() == 0);
subnet_wrapper wsub(x, grad_final, _sample_expansion_factor);
if (!this_layer_setup_called)
{
......@@ -1224,7 +1224,7 @@ namespace dlib
template <typename solver_type>
void update_parameters(sstack<solver_type> solvers, double learning_rate)
{
DLIB_CASSERT(solvers.size()>=num_computational_layers,"");
DLIB_CASSERT(solvers.size()>=num_computational_layers);
// Don't try to adjust the parameters if this layer doesn't have any or the
// learning rate is disabled for this layer.
if (params_grad.size() != 0 && get_learning_rate_multiplier(details) != 0)
......@@ -1615,7 +1615,7 @@ namespace dlib
size_t i
) const
{
DLIB_CASSERT(i < num_repetitions(), "");
DLIB_CASSERT(i < num_repetitions());
return details[i];
}
......@@ -1623,7 +1623,7 @@ namespace dlib
size_t i
)
{
DLIB_CASSERT(i < num_repetitions(), "");
DLIB_CASSERT(i < num_repetitions());
return details[i];
}
......
This diff is collapsed.
......@@ -119,25 +119,25 @@ namespace dlib
{
DLIB_ASSERT( dest_nr == lhs_nc &&
dest_nc == rhs_nr &&
lhs_nr == rhs_nc,"")
lhs_nr == rhs_nc)
}
else if (!trans_lhs && trans_rhs)
{
DLIB_ASSERT( dest_nr == lhs_nr &&
dest_nc == rhs_nr &&
lhs_nc == rhs_nc,"")
lhs_nc == rhs_nc)
}
else if (trans_lhs && !trans_rhs)
{
DLIB_ASSERT( dest_nr == lhs_nc &&
dest_nc == rhs_nc &&
lhs_nr == rhs_nr,"")
lhs_nr == rhs_nr)
}
else
{
DLIB_ASSERT( dest_nr == lhs_nr &&
dest_nc == rhs_nc &&
lhs_nc == rhs_nr,"")
lhs_nc == rhs_nr)
}
const int k = trans_rhs ? rhs_nc : rhs_nr;
......
......@@ -173,11 +173,11 @@ namespace dlib
DLIB_CASSERT(dest.k() == src1.k() && src1.k() == src2.k() &&
dest.nr() == src1.nr() && src1.nr() == src2.nr() &&
dest.nc() == src1.nc() && src1.nc() == src2.nc() ,"");
dest.nc() == src1.nc() && src1.nc() == src2.nc() );
const long MD = std::max(std::max(dest.num_samples(),src1.num_samples()),src2.num_samples());
DLIB_CASSERT((dest.num_samples()==1 || dest.num_samples()==MD) &&
(src1.num_samples()==1 || src1.num_samples()==MD) &&
(src2.num_samples()==1 || src2.num_samples()==MD) ,"");
(src2.num_samples()==1 || src2.num_samples()==MD) );
if (dest.size() == 0)
return;
......@@ -278,7 +278,7 @@ namespace dlib
{
if (have_same_dimensions(dest,src1))
{
DLIB_CASSERT(src2.num_samples() == 1 && src2.nr() == 1 && src2.nc() == 1 && src2.k() == src1.k(),"");
DLIB_CASSERT(src2.num_samples() == 1 && src2.nr() == 1 && src2.nc() == 1 && src2.k() == src1.k());
if (dest.size() == 0)
return;
......@@ -291,8 +291,8 @@ namespace dlib
}
else
{
DLIB_CASSERT(have_same_dimensions(src1,src2),"");
DLIB_CASSERT(dest.num_samples() == 1 && dest.nr() == 1 && dest.nc() == 1 && dest.k() == src1.k(),"");
DLIB_CASSERT(have_same_dimensions(src1,src2));
DLIB_CASSERT(dest.num_samples() == 1 && dest.nr() == 1 && dest.nc() == 1 && dest.k() == src1.k());
if (dest.size() == 0)
return;
......@@ -404,7 +404,7 @@ namespace dlib
const float B
)
{
DLIB_CASSERT(dest.size()==src.size(),"");
DLIB_CASSERT(dest.size()==src.size());
if (B != 0)
launch_kernel(_cuda_affine_transform1,max_jobs(dest.size()),dest.device(), src.device(), src.size(), A, B);
else
......@@ -417,7 +417,7 @@ namespace dlib
const float A
)
{
DLIB_CASSERT(dest.size()==src.size(),"");
DLIB_CASSERT(dest.size()==src.size());
launch_kernel(_cuda_affine_transform1_0,max_jobs(dest.size()),dest.device(), src.device(), src.size(), A);
}
......@@ -448,8 +448,8 @@ namespace dlib
const float C
)
{
DLIB_CASSERT(dest.size()==src1.size(),"");
DLIB_CASSERT(dest.size()==src2.size(),"");
DLIB_CASSERT(dest.size()==src1.size());
DLIB_CASSERT(dest.size()==src2.size());
if (C != 0)
launch_kernel(_cuda_affine_transform4,max_jobs(dest.size()),dest.device(), src1.device(), src2.device(), dest.size(), A, B, C);
else
......@@ -464,8 +464,8 @@ namespace dlib
const float B
)
{
DLIB_CASSERT(dest.size()==src1.size(),"");
DLIB_CASSERT(dest.size()==src2.size(),"");
DLIB_CASSERT(dest.size()==src1.size());
DLIB_CASSERT(dest.size()==src2.size());
launch_kernel(_cuda_affine_transform4_0,max_jobs(dest.size()),dest.device(), src1.device(), src2.device(), dest.size(), A, B);
}
......@@ -485,7 +485,7 @@ namespace dlib
const tensor& src
)
{
DLIB_CASSERT(dest.size()==src.size(),"");
DLIB_CASSERT(dest.size()==src.size());
launch_kernel(_cuda_add_scaled,max_jobs(dest.size()),dest.device(), src.device(), dest.size(), scale);
}
......@@ -512,9 +512,9 @@ namespace dlib
const float D
)
{
DLIB_CASSERT(dest.size()==src1.size(),"");
DLIB_CASSERT(dest.size()==src2.size(),"");
DLIB_CASSERT(dest.size()==src3.size(),"");
DLIB_CASSERT(dest.size()==src1.size());
DLIB_CASSERT(dest.size()==src2.size());
DLIB_CASSERT(dest.size()==src3.size());
launch_kernel(_cuda_affine_transform5,max_jobs(dest.size()),dest.device(), src1.device(),
src2.device(), src3.device(), dest.size(), A, B, C, D);
}
......@@ -544,10 +544,10 @@ namespace dlib
const float C
)
{
DLIB_CASSERT(dest.size()==src1.size(),"");
DLIB_CASSERT(dest.size()==src2.size(),"");
DLIB_CASSERT(dest.size()==src3.size(),"");
DLIB_CASSERT(begin <= end && end <= dest.size(),"");
DLIB_CASSERT(dest.size()==src1.size());
DLIB_CASSERT(dest.size()==src2.size());
DLIB_CASSERT(dest.size()==src3.size());
DLIB_CASSERT(begin <= end && end <= dest.size());
launch_kernel(_cuda_affine_transform_range,max_jobs(end-begin),
dest.device(), src1.device(),
src2.device(), src3.device(), begin, end, A, B, C);
......@@ -577,10 +577,10 @@ namespace dlib
const tensor& B
)
{
DLIB_CASSERT(have_same_dimensions(dest, src),"");
DLIB_CASSERT(have_same_dimensions(dest, src));
DLIB_CASSERT(
((A.num_samples()==1 && B.num_samples()==1) ||
(A.num_samples()==src.num_samples() && B.num_samples()==src.num_samples())),"");
(A.num_samples()==src.num_samples() && B.num_samples()==src.num_samples())));
DLIB_CASSERT(
A.nr()==B.nr() && B.nr()==src.nr() &&
A.nc()==B.nc() && B.nc()==src.nc() &&
......@@ -648,8 +648,8 @@ namespace dlib
DLIB_CASSERT(s.size() == m.size() &&
s.size() == v.size() &&
s.size() == params.size() &&
s.size() == params_grad.size(),"");
DLIB_CASSERT(begin <= end && end <= params.size(),"");
s.size() == params_grad.size());
DLIB_CASSERT(begin <= end && end <= params.size());
const float alpha = learning_rate*std::sqrt(1-std::pow(momentum2,t))/(1-std::pow(momentum1, t));
launch_kernel(_cuda_compute_adam_update,max_jobs(end-begin),
......@@ -675,9 +675,9 @@ namespace dlib
const tensor& B
)
{
DLIB_CASSERT(have_same_dimensions(dest, src),"");
DLIB_CASSERT(have_same_dimensions(A, B),"");
DLIB_CASSERT(A.num_samples() == 1 && A.nr() == 1 && A.nc() == 1 && A.k() == src.k(),"");
DLIB_CASSERT(have_same_dimensions(dest, src));
DLIB_CASSERT(have_same_dimensions(A, B));
DLIB_CASSERT(A.num_samples() == 1 && A.nr() == 1 && A.nc() == 1 && A.k() == src.k());
launch_kernel(_cuda_affine_transform_conv,max_jobs(dest.size()),
dest.device(), src.device(), src.size(), A.device(), B.device(), src.nr()*src.nc(), src.k());
......@@ -705,7 +705,7 @@ namespace dlib
gradient_input.k() == grad.k() &&
gradient_input.nr() == grad.nr() &&
gradient_input.nc() == grad.nc() &&
gradient_input.size() > 0,"");
gradient_input.size() > 0);
launch_kernel(_add_bias_gradient,max_jobs(grad.size()),grad.device(), gradient_input.device(), grad.size(), gradient_input.size());
}
......@@ -750,8 +750,8 @@ namespace dlib
size_t idx
)
{
DLIB_CASSERT(a.size() == b.size(), "");
DLIB_CASSERT(idx < result.size(), "");
DLIB_CASSERT(a.size() == b.size());
DLIB_CASSERT(idx < result.size());
launch_kernel(_cuda_dot, max_jobs(a.size()), a.device(), b.device(), a.size(), result.device()+idx);
}
......
......@@ -326,7 +326,7 @@ namespace dlib
gradient_input.k() == grad.k() &&
gradient_input.size() > 0 &&
is_same_object(grad,gradient_input) == false
,"");
);
const float alpha = 1;
const float beta = 0;
......@@ -417,8 +417,8 @@ namespace dlib
)
{
DLIB_CASSERT(0 <= averaging_factor && averaging_factor <= 1, "averaging_factor: " << averaging_factor);
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_means,means),"");
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_variances,invstds),"");
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_means,means));
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_variances,invstds));
DLIB_CASSERT(
src.num_samples() > 1 &&
gamma.num_samples() == 1 &&
......@@ -491,15 +491,15 @@ namespace dlib
)
{
const long num = src.k()*src.nr()*src.nc();
DLIB_CASSERT(src.num_samples() > 1, "");
DLIB_CASSERT(num == (long)means.size(),"");
DLIB_CASSERT(num == (long)invstds.size(),"");
DLIB_CASSERT(num == (long)gamma.size(),"");
DLIB_CASSERT(num == (long)gamma_grad.size(),"");
DLIB_CASSERT(num == (long)beta_grad.size(),"");
DLIB_CASSERT(have_same_dimensions(gradient_input, src),"");
DLIB_CASSERT(have_same_dimensions(gradient_input, src_grad),"");
DLIB_CASSERT(eps > 0,"");
DLIB_CASSERT(src.num_samples() > 1);
DLIB_CASSERT(num == (long)means.size());
DLIB_CASSERT(num == (long)invstds.size());
DLIB_CASSERT(num == (long)gamma.size());
DLIB_CASSERT(num == (long)gamma_grad.size());
DLIB_CASSERT(num == (long)beta_grad.size());
DLIB_CASSERT(have_same_dimensions(gradient_input, src));
DLIB_CASSERT(have_same_dimensions(gradient_input, src_grad));
DLIB_CASSERT(eps > 0);
const float in_scale = 1;
const float out_scale = 1;
......@@ -606,8 +606,8 @@ namespace dlib
)
{
DLIB_CASSERT(0 <= averaging_factor && averaging_factor <= 1, "averaging_factor: " << averaging_factor);
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_means,means),"");
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_variances,invstds),"");
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_means,means));
DLIB_CASSERT(averaging_factor==1 || have_same_dimensions(running_variances,invstds));
DLIB_CASSERT(
src.num_samples() > 1 &&
gamma.num_samples() == 1 &&
......@@ -680,14 +680,14 @@ namespace dlib
tensor& beta_grad
)
{
DLIB_CASSERT(src.k() == (long)means.size(),"");
DLIB_CASSERT(src.k() == (long)invstds.size(),"");
DLIB_CASSERT(src.k() == (long)gamma.size(),"");
DLIB_CASSERT(src.k() == (long)gamma_grad.size(),"");
DLIB_CASSERT(src.k() == (long)beta_grad.size(),"");
DLIB_CASSERT(have_same_dimensions(gradient_input, src),"");
DLIB_CASSERT(have_same_dimensions(gradient_input, src_grad),"");
DLIB_CASSERT(eps > 0,"");
DLIB_CASSERT(src.k() == (long)means.size());
DLIB_CASSERT(src.k() == (long)invstds.size());
DLIB_CASSERT(src.k() == (long)gamma.size());
DLIB_CASSERT(src.k() == (long)gamma_grad.size());
DLIB_CASSERT(src.k() == (long)beta_grad.size());
DLIB_CASSERT(have_same_dimensions(gradient_input, src));
DLIB_CASSERT(have_same_dimensions(gradient_input, src_grad));
DLIB_CASSERT(eps > 0);
const float in_scale = 1;
const float out_scale = 1;
......@@ -794,7 +794,7 @@ namespace dlib
int padding_x_
)
{
DLIB_CASSERT(data.k() == filters.k(),"");
DLIB_CASSERT(data.k() == filters.k());
// if the last call to setup gave the same exact settings then don't do
// anything.
......@@ -969,10 +969,10 @@ namespace dlib
int padding_x
)
{
DLIB_CASSERT(is_same_object(output,data) == false,"");
DLIB_CASSERT(is_same_object(output,filters) == false,"");
DLIB_CASSERT(filters.k() == data.k(),"");
DLIB_CASSERT(stride_y > 0 && stride_x > 0,"");
DLIB_CASSERT(is_same_object(output,data) == false);
DLIB_CASSERT(is_same_object(output,filters) == false);
DLIB_CASSERT(filters.k() == data.k());
DLIB_CASSERT(stride_y > 0 && stride_x > 0);
DLIB_CASSERT(filters.nc() <= data.nc() + 2*padding_x,
"Filter windows must be small enough to fit into the padded image."
<< "\n\t filters.nc(): " << filters.nc()
......@@ -992,9 +992,9 @@ namespace dlib
output.set_size(out_num_samples, out_k, out_nr, out_nc);
DLIB_ASSERT(output.num_samples() == data.num_samples(),out_num_samples << " " << data.num_samples());
DLIB_ASSERT(output.k() == filters.num_samples(),"");
DLIB_ASSERT(output.nr() == 1+(data.nr()+2*padding_y-filters.nr())/stride_y,"");
DLIB_ASSERT(output.nc() == 1+(data.nc()+2*padding_x-filters.nc())/stride_x,"");
DLIB_ASSERT(output.k() == filters.num_samples());
DLIB_ASSERT(output.nr() == 1+(data.nr()+2*padding_y-filters.nr())/stride_y);
DLIB_ASSERT(output.nc() == 1+(data.nc()+2*padding_x-filters.nc())/stride_x);
......@@ -1221,8 +1221,8 @@ namespace dlib
dest.set_size(outN,outC,outH,outW);
DLIB_CASSERT(dest.num_samples() == src.num_samples(),"");
DLIB_CASSERT(dest.k() == src.k(),"");
DLIB_CASSERT(dest.num_samples() == src.num_samples());
DLIB_CASSERT(dest.k() == src.k());
DLIB_CASSERT(dest.nr() == 1 + (src.nr() + 2*padding_y - window_height)/stride_y,
"\n stride_y: " << stride_y <<
"\n padding_y: " << padding_y <<
......@@ -1255,8 +1255,8 @@ namespace dlib
tensor& grad
)
{
DLIB_CASSERT(have_same_dimensions(gradient_input,dest),"");
DLIB_CASSERT(have_same_dimensions(src,grad),"");
DLIB_CASSERT(have_same_dimensions(gradient_input,dest));
DLIB_CASSERT(have_same_dimensions(src,grad));
const float alpha = 1;
const float beta = 1;
......@@ -1282,7 +1282,7 @@ namespace dlib
const tensor& src
)
{
DLIB_CASSERT(have_same_dimensions(dest,src),"");
DLIB_CASSERT(have_same_dimensions(dest,src));
if (src.size() == 0)
return;
......@@ -1309,7 +1309,7 @@ namespace dlib
{
DLIB_CASSERT(
have_same_dimensions(dest,gradient_input) == true &&
have_same_dimensions(dest,grad) == true , "");
have_same_dimensions(dest,grad) == true );
if (dest.size() == 0)
return;
......@@ -1336,7 +1336,7 @@ namespace dlib
const tensor& src
)
{
DLIB_CASSERT(have_same_dimensions(dest,src),"");
DLIB_CASSERT(have_same_dimensions(dest,src));
if (src.size() == 0)
return;
......@@ -1360,7 +1360,7 @@ namespace dlib
{
DLIB_CASSERT(
have_same_dimensions(dest,gradient_input) == true &&
have_same_dimensions(dest,grad) == true , "");
have_same_dimensions(dest,grad) == true );
if (dest.size() == 0)
return;
......@@ -1387,7 +1387,7 @@ namespace dlib
const tensor& src
)
{
DLIB_CASSERT(have_same_dimensions(dest,src),"");
DLIB_CASSERT(have_same_dimensions(dest,src));
if (src.size() == 0)
return;
......@@ -1411,7 +1411,7 @@ namespace dlib
{
DLIB_CASSERT(
have_same_dimensions(dest,gradient_input) == true &&
have_same_dimensions(dest,grad) == true , "");
have_same_dimensions(dest,grad) == true );
if (dest.size() == 0)
return;
......@@ -1438,7 +1438,7 @@ namespace dlib
const tensor& src
)
{
DLIB_CASSERT(have_same_dimensions(dest,src),"");
DLIB_CASSERT(have_same_dimensions(dest,src));
if (src.size() == 0)
return;
......@@ -1462,7 +1462,7 @@ namespace dlib
{
DLIB_CASSERT(
have_same_dimensions(dest,gradient_input) == true &&
have_same_dimensions(dest,grad) == true, "");
have_same_dimensions(dest,grad) == true);
if (dest.size() == 0)
return;
......
......@@ -23,7 +23,7 @@ namespace dlib
const gpu_data& src
)
{
DLIB_CASSERT(dest.size() == src.size(), "");
DLIB_CASSERT(dest.size() == src.size());
if (src.size() == 0 || &dest == &src)
return;
......@@ -38,8 +38,8 @@ namespace dlib
size_t num
)
{
DLIB_CASSERT(dest_offset + num <= dest.size(), "");
DLIB_CASSERT(src_offset + num <= src.size(), "");
DLIB_CASSERT(dest_offset + num <= dest.size());
DLIB_CASSERT(src_offset + num <= src.size());
if (num == 0)
return;
......
......@@ -221,7 +221,7 @@ namespace dlib
inline void memcpy (gpu_data& dest, const gpu_data& src)
{
DLIB_CASSERT(dest.size() == src.size(), "");
DLIB_CASSERT(dest.size() == src.size());
if (src.size() == 0 || &dest == &src)
return;
std::memcpy(dest.host_write_only(), src.host(), sizeof(float)*src.size());
......@@ -235,8 +235,8 @@ namespace dlib
size_t num
)
{
DLIB_CASSERT(dest_offset + num <= dest.size(), "");
DLIB_CASSERT(src_offset + num <= src.size(), "");
DLIB_CASSERT(dest_offset + num <= dest.size());
DLIB_CASSERT(src_offset + num <= src.size());
if (num == 0)
return;
if (&dest == &src && std::max(dest_offset, src_offset) < std::min(dest_offset,src_offset)+num)
......
......@@ -64,7 +64,7 @@ namespace dlib
resizable_tensor& data
) const
{
DLIB_CASSERT(std::distance(ibegin,iend) > 0,"");
DLIB_CASSERT(std::distance(ibegin,iend) > 0);
const auto nr = ibegin->nr();
const auto nc = ibegin->nc();
// make sure all the input matrices have the same dimensions
......@@ -187,7 +187,7 @@ namespace dlib
resizable_tensor& data
) const
{
DLIB_CASSERT(std::distance(ibegin,iend) > 0,"");
DLIB_CASSERT(std::distance(ibegin,iend) > 0);
// make sure all input images have the correct size
for (auto i = ibegin; i != iend; ++i)
{
......@@ -305,7 +305,7 @@ namespace dlib
resizable_tensor& data
) const
{
DLIB_CASSERT(std::distance(ibegin,iend) > 0,"");
DLIB_CASSERT(std::distance(ibegin,iend) > 0);
const auto nr = ibegin->nr();
const auto nc = ibegin->nc();
// make sure all the input matrices have the same dimensions
......@@ -398,7 +398,7 @@ namespace dlib
resizable_tensor& data
) const
{
DLIB_CASSERT(std::distance(ibegin,iend) > 0,"");
DLIB_CASSERT(std::distance(ibegin,iend) > 0);
const auto nr = ibegin->nr();
const auto nc = ibegin->nc();
// make sure all the input matrices have the same dimensions
......
......@@ -1092,7 +1092,7 @@ namespace dlib
drop_rate(drop_rate_),
rnd(std::rand())
{
DLIB_CASSERT(0 <= drop_rate && drop_rate <= 1,"");
DLIB_CASSERT(0 <= drop_rate && drop_rate <= 1);
}
// We have to add a copy constructor and assignment operator because the rnd object
......
......@@ -29,13 +29,13 @@ namespace dlib
label_iterator iter
) const
{
DLIB_CASSERT(sub.sample_expansion_factor() == 1,"");
DLIB_CASSERT(sub.sample_expansion_factor() == 1);
const tensor& output_tensor = sub.get_output();
DLIB_CASSERT(output_tensor.nr() == 1 &&
output_tensor.nc() == 1 &&
output_tensor.k() == 1,"");
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples(),"");
output_tensor.k() == 1);
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples());
const float* out_data = output_tensor.host();
for (long i = 0; i < output_tensor.num_samples(); ++i)
......@@ -57,14 +57,14 @@ namespace dlib
const tensor& output_tensor = sub.get_output();
tensor& grad = sub.get_gradient_input();
DLIB_CASSERT(sub.sample_expansion_factor() == 1,"");
DLIB_CASSERT(input_tensor.num_samples() != 0,"");
DLIB_CASSERT(input_tensor.num_samples()%sub.sample_expansion_factor() == 0,"");
DLIB_CASSERT(input_tensor.num_samples() == grad.num_samples(),"");
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples(),"");
DLIB_CASSERT(sub.sample_expansion_factor() == 1);
DLIB_CASSERT(input_tensor.num_samples() != 0);
DLIB_CASSERT(input_tensor.num_samples()%sub.sample_expansion_factor() == 0);
DLIB_CASSERT(input_tensor.num_samples() == grad.num_samples());
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples());
DLIB_CASSERT(output_tensor.nr() == 1 &&
output_tensor.nc() == 1 &&
output_tensor.k() == 1,"");
output_tensor.k() == 1);
// The loss we output is the average loss over the mini-batch.
const double scale = 1.0/output_tensor.num_samples();
......@@ -136,13 +136,13 @@ namespace dlib
label_iterator iter
) const
{
DLIB_CASSERT(sub.sample_expansion_factor() == 1,"");
DLIB_CASSERT(sub.sample_expansion_factor() == 1);
const tensor& output_tensor = sub.get_output();
DLIB_CASSERT(output_tensor.nr() == 1 &&
output_tensor.nc() == 1 &&
output_tensor.k() == 1,"");
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples(),"");
output_tensor.k() == 1);
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples());
const float* out_data = output_tensor.host();
for (long i = 0; i < output_tensor.num_samples(); ++i)
......@@ -165,17 +165,17 @@ namespace dlib
const tensor& output_tensor = sub.get_output();
tensor& grad = sub.get_gradient_input();
DLIB_CASSERT(sub.sample_expansion_factor() == 1,"");
DLIB_CASSERT(input_tensor.num_samples() != 0,"");
DLIB_CASSERT(input_tensor.num_samples()%sub.sample_expansion_factor() == 0,"");
DLIB_CASSERT(input_tensor.num_samples() == grad.num_samples(),"");
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples(),"");
DLIB_CASSERT(sub.sample_expansion_factor() == 1);
DLIB_CASSERT(input_tensor.num_samples() != 0);
DLIB_CASSERT(input_tensor.num_samples()%sub.sample_expansion_factor() == 0);
DLIB_CASSERT(input_tensor.num_samples() == grad.num_samples());
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples());
DLIB_CASSERT(output_tensor.nr() == 1 &&
output_tensor.nc() == 1 &&
output_tensor.k() == 1,"");
output_tensor.k() == 1);
DLIB_CASSERT(grad.nr() == 1 &&
grad.nc() == 1 &&
grad.k() == 1,"");
grad.k() == 1);
tt::sigmoid(grad, output_tensor);
......@@ -253,10 +253,10 @@ namespace dlib
) const
{
const tensor& output_tensor = sub.get_output();
DLIB_CASSERT(sub.sample_expansion_factor() == 1,"");
DLIB_CASSERT(sub.sample_expansion_factor() == 1);
DLIB_CASSERT(output_tensor.nr() == 1 &&
output_tensor.nc() == 1 ,"");
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples(),"");
output_tensor.nc() == 1 );
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples());
// Note that output_tensor.k() should match the number of labels.
......@@ -282,15 +282,15 @@ namespace dlib
const tensor& output_tensor = sub.get_output();
tensor& grad = sub.get_gradient_input();
DLIB_CASSERT(sub.sample_expansion_factor() == 1,"");
DLIB_CASSERT(input_tensor.num_samples() != 0,"");
DLIB_CASSERT(input_tensor.num_samples()%sub.sample_expansion_factor() == 0,"");
DLIB_CASSERT(input_tensor.num_samples() == grad.num_samples(),"");
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples(),"");
DLIB_CASSERT(sub.sample_expansion_factor() == 1);
DLIB_CASSERT(input_tensor.num_samples() != 0);
DLIB_CASSERT(input_tensor.num_samples()%sub.sample_expansion_factor() == 0);
DLIB_CASSERT(input_tensor.num_samples() == grad.num_samples());
DLIB_CASSERT(input_tensor.num_samples() == output_tensor.num_samples());
DLIB_CASSERT(output_tensor.nr() == 1 &&
output_tensor.nc() == 1,"");
output_tensor.nc() == 1);
DLIB_CASSERT(grad.nr() == 1 &&
grad.nc() == 1,"");
grad.nc() == 1);
tt::softmax(grad, output_tensor);
......
......@@ -43,7 +43,7 @@ namespace dlib
{
const tensor& params = l.get_layer_params();
DLIB_CASSERT(params.size() != 0,"");
DLIB_CASSERT(params.size() != 0);
if (v.size() == 0)
{
v.copy_size(params_grad);
......@@ -131,7 +131,7 @@ namespace dlib
{
const tensor& params = l.get_layer_params();
DLIB_CASSERT(params.size() != 0,"");
DLIB_CASSERT(params.size() != 0);
if (v.size() == 0)
{
v.copy_size(params_grad);
......@@ -204,7 +204,7 @@ namespace dlib
)
{
const tensor& params = l.get_layer_params();
DLIB_CASSERT(params.size() != 0,"");
DLIB_CASSERT(params.size() != 0);
if (v.size() == 0)
{
m.copy_size(params_grad);
......@@ -305,7 +305,7 @@ namespace dlib
)
{
const tensor& params = l.get_layer_params();
DLIB_CASSERT(params.size() != 0,"");
DLIB_CASSERT(params.size() != 0);
if (v.size() == 0)
{
m.copy_size(params_grad);
......
......@@ -101,7 +101,7 @@ namespace dlib
tensor& operator= (const matrix_exp<EXP>& item)
{
DLIB_CASSERT(num_samples() == item.nr() &&
nr()*nc()*k() == item.nc(),"");
nr()*nc()*k() == item.nc());
static_assert((is_same_type<float, typename EXP::type>::value == true),
"To assign a matrix to a tensor the matrix must contain float values");
......@@ -113,7 +113,7 @@ namespace dlib
tensor& operator+= (const matrix_exp<EXP>& item)
{
DLIB_CASSERT(num_samples() == item.nr() &&
nr()*nc()*k() == item.nc(),"");
nr()*nc()*k() == item.nc());
static_assert((is_same_type<float, typename EXP::type>::value == true),
"To assign a matrix to a tensor the matrix must contain float values");
set_ptrm(host(), m_n, m_nr*m_nc*m_k) += item;
......@@ -124,7 +124,7 @@ namespace dlib
tensor& operator-= (const matrix_exp<EXP>& item)
{
DLIB_CASSERT(num_samples() == item.nr() &&
nr()*nc()*k() == item.nc(),"");
nr()*nc()*k() == item.nc());
static_assert((is_same_type<float, typename EXP::type>::value == true),
"To assign a matrix to a tensor the matrix must contain float values");
set_ptrm(host(), m_n, m_nr*m_nc*m_k) -= item;
......@@ -137,8 +137,8 @@ namespace dlib
const matrix_exp<EXP>& item
)
{
DLIB_CASSERT(idx < num_samples(), "");
DLIB_CASSERT(item.size() == nr()*nc()*k(), "");
DLIB_CASSERT(idx < num_samples());
DLIB_CASSERT(item.size() == nr()*nc()*k());
static_assert((is_same_type<float, typename EXP::type>::value == true),
"To assign a matrix to a tensor the matrix must contain float values");
set_ptrm(host()+idx*item.size(), item.nr(), item.nc()) = item;
......@@ -151,8 +151,8 @@ namespace dlib
const matrix_exp<EXP>& item
)
{
DLIB_CASSERT(idx < num_samples(), "");
DLIB_CASSERT(item.size() == nr()*nc()*k(), "");
DLIB_CASSERT(idx < num_samples());
DLIB_CASSERT(item.size() == nr()*nc()*k());
static_assert((is_same_type<float, typename EXP::type>::value == true),
"To assign a matrix to a tensor the matrix must contain float values");
set_ptrm(host()+idx*item.size(), item.nr(), item.nc()) += item;
......@@ -169,7 +169,7 @@ namespace dlib
const tensor& src
)
{
DLIB_CASSERT(dest.size() == src.size(), "");
DLIB_CASSERT(dest.size() == src.size());
memcpy(dest.data(), dest.get_alias_offset(),
src.data(), src.get_alias_offset(),
src.size());
......@@ -285,7 +285,7 @@ namespace dlib
long n_, long k_ = 1, long nr_ = 1, long nc_ = 1
)
{
DLIB_ASSERT( n_ >= 0 && k_ >= 0 && nr_ >= 0 && nc_ >= 0,"");
DLIB_ASSERT( n_ >= 0 && k_ >= 0 && nr_ >= 0 && nc_ >= 0);
set_size(n_,k_,nr_,nc_);
}
......@@ -351,7 +351,7 @@ namespace dlib
long n_, long k_ = 1, long nr_ = 1, long nc_ = 1
)
{
DLIB_ASSERT( n_ >= 0 && k_ >= 0 && nr_ >= 0 && nc_ >= 0,"");
DLIB_ASSERT( n_ >= 0 && k_ >= 0 && nr_ >= 0 && nc_ >= 0);
m_n = n_;
m_k = k_;
......@@ -469,7 +469,7 @@ namespace dlib
const tensor& b
)
{
DLIB_CASSERT(a.size() == b.size(), "");
DLIB_CASSERT(a.size() == b.size());
const float* da = a.host();
const float* db = b.host();
double sum = 0;
......@@ -559,7 +559,7 @@ namespace dlib
long n_, long k_ = 1, long nr_ = 1, long nc_ = 1
)
{
DLIB_ASSERT( n_ >= 0 && k_ >= 0 && nr_ >= 0 && nc_ >= 0,"");
DLIB_ASSERT( n_ >= 0 && k_ >= 0 && nr_ >= 0 && nc_ >= 0);
inst.m_n = n_;
inst.m_k = k_;
......@@ -588,7 +588,7 @@ namespace dlib
size_t offset
)
{
DLIB_CASSERT(offset+size() <= t.size(),"");
DLIB_CASSERT(offset+size() <= t.size());
#ifdef DLIB_USE_CUDA
if (!inst.cudnn_descriptor)
......
......@@ -101,7 +101,7 @@ namespace dlib { namespace tt
float stddev
)
{
DLIB_CASSERT(data.size()%2 == 0,"");
DLIB_CASSERT(data.size()%2 == 0);
#ifdef DLIB_USE_CUDA
rnd.fill_gaussian(data, mean, stddev);
#else
......@@ -135,11 +135,11 @@ namespace dlib { namespace tt
{
DLIB_CASSERT(dest.k() == src1.k() && src1.k() == src2.k() &&
dest.nr() == src1.nr() && src1.nr() == src2.nr() &&
dest.nc() == src1.nc() && src1.nc() == src2.nc() ,"");
dest.nc() == src1.nc() && src1.nc() == src2.nc() );
const long MD = std::max(std::max(dest.num_samples(),src1.num_samples()),src2.num_samples());
DLIB_CASSERT((dest.num_samples()==1 || dest.num_samples()==MD) &&
(src1.num_samples()==1 || src1.num_samples()==MD) &&
(src2.num_samples()==1 || src2.num_samples()==MD) ,"");
(src2.num_samples()==1 || src2.num_samples()==MD) );
#ifdef DLIB_USE_CUDA
cuda::multiply(add_to, dest, src1, src2);
#else
......
......@@ -143,7 +143,7 @@ namespace dlib
unsigned long batch_size
)
{
DLIB_CASSERT(batch_size > 0,"");
DLIB_CASSERT(batch_size > 0);
mini_batch_size = batch_size;
}
......@@ -154,7 +154,7 @@ namespace dlib
unsigned long num
)
{
DLIB_CASSERT(num > 0,"");
DLIB_CASSERT(num > 0);
max_num_epochs = num;
}
......@@ -183,7 +183,7 @@ namespace dlib
const std::vector<label_type>& labels
)
{
DLIB_CASSERT(data.size() == labels.size() && data.size() > 0, "");
DLIB_CASSERT(data.size() == labels.size() && data.size() > 0);
if (verbose)
{
......@@ -209,7 +209,7 @@ namespace dlib
const std::vector<input_type>& data
)
{
DLIB_CASSERT(data.size() > 0, "");
DLIB_CASSERT(data.size() > 0);
if (verbose)
{
using namespace std::chrono;
......@@ -234,7 +234,7 @@ namespace dlib
const std::vector<label_type>& labels
)
{
DLIB_CASSERT(data.size() == labels.size() && data.size() > 0, "");
DLIB_CASSERT(data.size() == labels.size() && data.size() > 0);
bool updated_the_network = false;
// The reason these two loops don't initialize their counter variables but
......@@ -290,7 +290,7 @@ namespace dlib
const std::vector<input_type>& data
)
{
DLIB_CASSERT(data.size() > 0, "");
DLIB_CASSERT(data.size() > 0);
const bool has_unsupervised_loss = std::is_same<no_label_type, label_type>::value;
static_assert(has_unsupervised_loss,
......@@ -378,7 +378,7 @@ namespace dlib
double lr
)
{
DLIB_CASSERT(lr > 0,"");
DLIB_CASSERT(lr > 0);
wait_for_thread_to_pause();
if (learning_rate != lr)
{
......@@ -399,7 +399,7 @@ namespace dlib
double lr
)
{
DLIB_CASSERT(lr > 0,"");
DLIB_CASSERT(lr > 0);
wait_for_thread_to_pause();
lr_schedule.set_size(0);
min_learning_rate = lr;
......@@ -416,8 +416,8 @@ namespace dlib
const matrix_exp<EXP>& schedule
)
{
DLIB_CASSERT(schedule.size() > 0,"");
DLIB_CASSERT(min(schedule) > 0,"");
DLIB_CASSERT(schedule.size() > 0);
DLIB_CASSERT(min(schedule) > 0);
set_learning_rate(schedule(0,0));
set_min_learning_rate(min(schedule));
set_learning_rate_shrink_factor(1);
......@@ -456,7 +456,7 @@ namespace dlib
double shrink
)
{
DLIB_CASSERT(0 < shrink && shrink <= 1,"");
DLIB_CASSERT(0 < shrink && shrink <= 1);
wait_for_thread_to_pause();
lr_schedule.set_size(0);
learning_rate_shrink = shrink;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment