Lines Matching full:double
55 double _param1, double _param2 )
106 double _f_param1, double _f_param2 )
134 void CvANN_MLP::set_activ_func( int _activ_func, double _f_param1, double _f_param2 )
184 double val = 0, G = n2 > 2 ? 0.7*pow((double)n1,1./(n2-1)) : 1.;
185 double* w = weights[i];
190 double s = 0;
211 double _f_param1, double _f_param2 )
254 CV_CALL( weights = (double**)cvAlloc( (l_count+1)*sizeof(weights[0]) ));
272 double* buf;
304 buf = (double*)cvStackAlloc( buf_sz*sizeof(buf[0]) );
320 double* data = buf + (j&1 ? max_count*dn0 : 0);
344 double* dst = _dst->data.db;
345 const double* w = weights[0];
359 const double* src = _src->data.db;
372 const double* src = _src->data.db;
373 const double* w = weights[layer_sizes->cols];
387 double* dst = _dst->data.db;
397 void CvANN_MLP::calc_activ_func( CvMat* sums, const double* bias ) const
400 double* data = sums->data.db;
401 double scale = 0, scale2 = f_param2;
434 double t = data[j] + bias[j];
449 double x0 = 1.+data[i], x1 = 1.+data[i+1], x2 = 1.+data[i+2], x3 = 1.+data[i+3];
450 double a = x0*x1, b = x2*x3, d = scale2/(a*b), t0, t1;
460 double t = scale2*(1. - data[i])/(1. + data[i]);
477 const double* bias ) const
480 double* xf = _xf->data.db;
481 double* df = _df->data.db;
482 double scale, scale2 = f_param2;
502 double t = xf[j] + bias[j];
529 double x0 = 1.+xf[i], x1 = 1.+xf[i+1], x2 = 1.+xf[i+2], x3 = 1.+xf[i+3];
530 double a = x0*x1, b = x2*x3, d = 1./(a*b), t0, t1;
548 double t0 = 1./(1. + xf[i]);
549 double t1 = scale*xf[i]*t0*t0;
570 double* scale = weights[0];
577 double a = no_scale ? 1. : 0.;
588 const double* d = vecs->data.db[i];
591 double t = type == CV_32F ? (double)f[j] : d[j];
599 double s = scale[j*2], s2 = scale[j*2+1];
600 double m = s/count, sigma2 = s2/count - m*m;
612 double m = min_val, M = max_val, m1 = min_val1, M1 = max_val1;
616 double* scale = weights[l_count];
617 double* inv_scale = weights[l_count+1];
626 double a0 = no_scale ? 1 : DBL_MAX, b0 = no_scale ? 0 : -DBL_MAX;
641 const double* d = vecs->data.db[i];
645 double t = type == CV_32F ? (double)f[j] : d[j];
649 double mj = scale[j*2], Mj = scale[j*2+1];
670 double mj = scale[j*2], Mj = scale[j*2+1];
671 double a, b;
672 double delta = Mj - mj;
688 CvVectors* _ivecs, CvVectors* _ovecs, double** _sw, int _flags )
693 double* sw = 0;
706 double sw_sum = 0;
757 CV_CALL( sw = (double*)cvAlloc( count*sizeof(sw[0]) ));
775 double w = sw_type == CV_32FC1 ?
776 (double)_sample_weights->data.fl[si*sw_step] :
821 const double DEFAULT_EPSILON = FLT_EPSILON;
823 double* sw = 0;
834 double epsilon;
876 int CvANN_MLP::train_backprop( CvVectors x0, CvVectors u, const double* sw )
880 double **x = 0, **df = 0;
889 double *buf_ptr;
890 double prev_E = DBL_MAX*0.5, E = 0, epsilon;
910 CV_CALL( x = (double**)cvAlloc( total*2*sizeof(x[0]) ));
934 double* w = weights[0];
935 double sweight = sw ? count*sw[idx] : 1.;
966 const double* x0data = x0.data.db[idx];
997 double t = udata[k]*w[k*2] + w[k*2+1] - x[l_count-1][k];
1004 const double* udata = u.data.db[idx];
1007 double t = udata[k]*w[k*2] + w[k*2+1] - x[l_count-1][k];
1049 int CvANN_MLP::train_rprop( CvVectors x0, CvVectors u, const double* sw )
1056 double **x = 0, **df = 0;
1064 double *buf_ptr;
1065 double prev_E = DBL_MAX*0.5, epsilon;
1066 double dw_plus, dw_minus, dw_min, dw_max;
1067 double inv_count;
1099 CV_CALL( x = (double**)cvAlloc( total*2*sizeof(x[0]) ));
1130 double* w;
1133 double E = 0;
1148 double* xdata = x[0]+i*ivcount;
1155 const double* x0data = x0.data.db[si+i];
1156 double* xdata = x[0]+i*ivcount;
1184 const double* xdata = x[l_count-1] + i*ovcount;
1185 double* gdata = grad1->data.db + i*ovcount;
1186 double sweight = sw ? sw[si+i] : inv_count, E1 = 0;
1190 double t = udata[j]*w[j*2] + w[j*2+1] - xdata[j];
1199 const double* udata = u.data.db[si+i];
1200 const double* xdata = x[l_count-1] + i*ovcount;
1201 double* gdata = grad1->data.db + i*ovcount;
1202 double sweight = sw ? sw[si+i] : inv_count, E1 = 0;
1206 double t = udata[j]*w[j*2] + w[j*2+1] - xdata[j];
1225 double* dst = _dEdw.data.db + n1*n2;
1226 const double* src = grad1->data.db + k*n2;
1245 double* wk = weights[i]+k*n2;
1247 double* dwk = dw->data.db + delta;
1248 double* dEdwk = dEdw->data.db + delta;
1253 double Eval = dEdwk[j];
1254 double dval = dwk[j];
1255 double wval = wk[j];