ocl: svm: restore non BLAS version
This commit is contained in:
parent
9a63508f50
commit
7704dbf866
@ -994,13 +994,15 @@ void CvSVMKernel_ocl::calc( int vcount, const int row_idx, Qfloat* results, Mat&
|
|||||||
//int j;
|
//int j;
|
||||||
(this->*calc_func_ocl)( vcount, row_idx, results, src);
|
(this->*calc_func_ocl)( vcount, row_idx, results, src);
|
||||||
|
|
||||||
// FIXIT #if defined HAVE_CLAMDBLAS
|
#if !defined(HAVE_CLAMDBLAS)
|
||||||
|
// nothing
|
||||||
|
#else
|
||||||
const Qfloat max_val = (Qfloat)(FLT_MAX * 1e-3);
|
const Qfloat max_val = (Qfloat)(FLT_MAX * 1e-3);
|
||||||
int j;
|
int j;
|
||||||
for( j = 0; j < vcount; j++ )
|
for( j = 0; j < vcount; j++ )
|
||||||
if( results[j] > max_val )
|
if( results[j] > max_val )
|
||||||
results[j] = max_val;
|
results[j] = max_val;
|
||||||
// FIXIT #endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CvSVMKernel_ocl::create( const CvSVMParams* _params, Calc_ocl _calc_func, Calc _calc_func1 )
|
bool CvSVMKernel_ocl::create( const CvSVMParams* _params, Calc_ocl _calc_func, Calc _calc_func1 )
|
||||||
@ -1072,12 +1074,13 @@ void CvSVMKernel_ocl::calc_poly( int vcount, const int row_idx, Qfloat* results,
|
|||||||
{
|
{
|
||||||
calc_non_rbf_base( vcount, row_idx, results, src);
|
calc_non_rbf_base( vcount, row_idx, results, src);
|
||||||
|
|
||||||
//FIXIT #if defined HAVE_CLAMDBLAS
|
#if !defined(HAVE_CLAMDBLAS)
|
||||||
|
// nothing
|
||||||
|
#else
|
||||||
CvMat R = cvMat( 1, vcount, QFLOAT_TYPE, results );
|
CvMat R = cvMat( 1, vcount, QFLOAT_TYPE, results );
|
||||||
if( vcount > 0 )
|
if( vcount > 0 )
|
||||||
cvPow( &R, &R, params->degree );
|
cvPow( &R, &R, params->degree );
|
||||||
//FIXIT #endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1085,7 +1088,9 @@ void CvSVMKernel_ocl::calc_sigmoid( int vcount, const int row_idx, Qfloat* resul
|
|||||||
{
|
{
|
||||||
calc_non_rbf_base( vcount, row_idx, results, src);
|
calc_non_rbf_base( vcount, row_idx, results, src);
|
||||||
// TODO: speedup this
|
// TODO: speedup this
|
||||||
//FIXIT #if defined HAVE_CLAMDBLAS
|
#if !defined(HAVE_CLAMDBLAS)
|
||||||
|
// nothing
|
||||||
|
#else
|
||||||
for(int j = 0; j < vcount; j++ )
|
for(int j = 0; j < vcount; j++ )
|
||||||
{
|
{
|
||||||
Qfloat t = results[j];
|
Qfloat t = results[j];
|
||||||
@ -1095,7 +1100,7 @@ void CvSVMKernel_ocl::calc_sigmoid( int vcount, const int row_idx, Qfloat* resul
|
|||||||
else
|
else
|
||||||
results[j] = (Qfloat)((e - 1.) / (e + 1.));
|
results[j] = (Qfloat)((e - 1.) / (e + 1.));
|
||||||
}
|
}
|
||||||
//FIXIT #endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
CvSVM_OCL::CvSVM_OCL()
|
CvSVM_OCL::CvSVM_OCL()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user