Python 错误:转换第7个参数“g';将_lbfgsb.setulb转换为C/Fortran数组
假设 其中,Python 错误:转换第7个参数“g';将_lbfgsb.setulb转换为C/Fortran数组,python,optimization,scipy,gradient,Python,Optimization,Scipy,Gradient,假设 其中,params是N实数的向量,err是实数,grad是两个实数的向量 def evaluateFunc(params): ... return err, grad 当我调用下面的函数时 params = numpy.random.rand(X.shape[0]+1) bounds = np.append([(0,None)]*X.shape[0], [(None,None)], axis=0) 我得到了以下错误: params
params
是N
实数的向量,err
是实数,grad
是两个实数的向量
def evaluateFunc(params):
...
return err, grad
当我调用下面的函数时
params = numpy.random.rand(X.shape[0]+1)
bounds = np.append([(0,None)]*X.shape[0], [(None,None)], axis=0)
我得到了以下错误:
params, minval, infos = fmin_l_bfgs_b(evaluateFunc, params, bounds=bounds)
error: failed in converting 7th argument `g' of _lbfgsb.setulb to C/Fortran array
为什么我会犯这样的错误?我怎样才能修好它
编辑
如果删除参数bounds=bounds
,则会出现以下错误:
params, minval, infos = fmin_l_bfgs_b(evaluateFunc, params, bounds=bounds)
error: failed in converting 7th argument `g' of _lbfgsb.setulb to C/Fortran array