本文整理汇总了Golang中github.com/verdverm/go-symexpr.Expr.ConvertToConstants方法的典型用法代码示例。如果您正苦于以下问题:Golang Expr.ConvertToConstants方法的具体用法?Golang Expr.ConvertToConstants怎么用?Golang Expr.ConvertToConstants使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/verdverm/go-symexpr.Expr
的用法示例。
在下文中一共展示了Expr.ConvertToConstants方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: RegressExpr
func RegressExpr(E expr.Expr, P *probs.ExprProblem) (R *probs.ExprReport) {
guess := make([]float64, 0)
guess, eqn := E.ConvertToConstants(guess)
var coeff []float64
if len(guess) > 0 {
// fmt.Printf("x_dims: %d %d\n", x_dim, x_dim2)
// Callback version
coeff = levmar.LevmarExpr(eqn, P.SearchVar, P.SearchType, guess, P.Train, P.Test)
// Stack version
// x_dim := P.Train[0].NumDim()
// if c_input == nil {
// ps := P.Train[0].NumPoints()
// PS := len(P.Train) * ps
// x_tot := PS * x_dim
// c_input = make([]levmar.C_double, x_tot)
// c_ygiven = make([]levmar.C_double, PS)
// for i1, T := range P.Train {
// for i2, p := range T.Points() {
// i := i1*ps + i2
// c_ygiven[i] = levmar.MakeCDouble(p.Depnd(P.SearchVar))
// for i3, x_p := range p.Indeps() {
// j := i1*ps*x_dim + i2*x_dim + i3
// c_input[j] = levmar.MakeCDouble(x_p)
// }
// }
// }
// }
// coeff = levmar.StackLevmarExpr(eqn, x_dim, guess, c_ygiven, c_input)
// serial := make([]int, 0)
// serial = eqn.StackSerial(serial)
// fmt.Printf("StackSerial: %v\n", serial)
// fmt.Printf("%v\n%v\n%v\n\n", eqn, coeff, steff)
}
R = new(probs.ExprReport)
R.SetExpr(eqn) /*.ConvertToConstantFs(coeff)*/
R.SetCoeff(coeff)
R.Expr().CalcExprStats()
// hitsL1, hitsL2, evalCnt, nanCnt, infCnt, l1_err, l2_err := scoreExpr(E, P, coeff)
_, _, _, trnNanCnt, _, trn_l1_err, _ := scoreExpr(E, P, P.Train, coeff)
_, _, tstEvalCnt, tstNanCnt, _, tst_l1_err, tst_l2_err := scoreExpr(E, P, P.Test, coeff)
R.SetTrainScore(trnNanCnt)
R.SetTrainError(trn_l1_err)
R.SetPredScore(tstNanCnt)
R.SetTestScore(tstEvalCnt)
R.SetTestError(tst_l1_err)
R.SetPredError(tst_l2_err)
return R
}