Commit e8537b1f authored by Davis King's avatar Davis King

Just code clean up stuff like making sure everything uses the right

templated scalar types and checking for degenerate numerical conditions
and so forth.

--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%402339
parent 69b4407c
......@@ -78,13 +78,18 @@ namespace dlib
) const
{
scalar_type temp = 0;
const scalar_type kxx = kernel(x,x);
for (unsigned long i = 0; i < alpha.size(); ++i)
temp += alpha[i]*kernel(dictionary[i], x);
return std::sqrt(kernel(x,x) + bias - 2*temp);
temp = kxx + bias - 2*temp;
if (temp > 0)
return std::sqrt(temp);
else
return 0;
}
double samples_trained (
scalar_type samples_trained (
) const
{
return samples_seen;
......@@ -95,8 +100,8 @@ namespace dlib
)
{
++samples_seen;
const double xscale = 1.0/samples_seen;
const double cscale = 1-xscale;
const scalar_type xscale = 1/samples_seen;
const scalar_type cscale = 1-xscale;
return train_and_maybe_test(x,cscale,xscale,true);
}
......@@ -105,15 +110,15 @@ namespace dlib
)
{
++samples_seen;
const double xscale = 1.0/samples_seen;
const double cscale = 1-xscale;
const scalar_type xscale = 1.0/samples_seen;
const scalar_type cscale = 1-xscale;
train_and_maybe_test(x,cscale,xscale,false);
}
scalar_type test_and_train (
const sample_type& x,
double cscale,
double xscale
scalar_type cscale,
scalar_type xscale
)
{
++samples_seen;
......@@ -122,8 +127,8 @@ namespace dlib
void train (
const sample_type& x,
double cscale,
double xscale
scalar_type cscale,
scalar_type xscale
)
{
++samples_seen;
......@@ -177,8 +182,8 @@ namespace dlib
scalar_type train_and_maybe_test (
const sample_type& x,
double cscale,
double xscale,
scalar_type cscale,
scalar_type xscale,
bool do_test
)
{
......
......@@ -129,8 +129,8 @@ namespace dlib
void train (
const sample_type& x,
double cscale,
double xscale
scalar_type cscale,
scalar_type xscale
);
/*!
ensures
......@@ -155,8 +155,8 @@ namespace dlib
scalar_type test_and_train (
const sample_type& x,
double cscale,
double xscale
scalar_type cscale,
scalar_type xscale
);
/*!
ensures
......
......@@ -325,12 +325,12 @@ namespace dlib
matrix<scalar_type,0,1,mem_manager_type> k;
matrix<scalar_type,1,0,mem_manager_type> temp_matrix;
const static double tau;
const static scalar_type tau;
};
template <typename kernel_type>
const double krls<kernel_type>::tau = 0.01;
const typename kernel_type::scalar_type krls<kernel_type>::tau = static_cast<typename kernel_type::scalar_type>(0.01);
// ----------------------------------------------------------------------------------------
......
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