我正在使用来自 scipy.optimize 的差分进化来解决我的优化问题。我的优化器需要一些参数进行优化。
代码 -
res = optimize.differential_evolution(objective,bounds,args=arguments,disp=True,callback = callback_DE(arguments))
我还有一个回调函数。我想将我的参数发送到我的回调函数,这就是我的问题出现的地方。
如果我不将任何参数传递给我的回调函数,它工作正常 -
def callback_DE(x,convergence):
'''
some code
'''
但是,如果我arguments
在函数定义中作为参数给出 -
def callback_DE(x,convergence,arguments):
'''
some code
'''
它抛出一个错误。
将参数传递给回调函数的正确方法是什么?