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