“NoneType”对象在 deap expr func 调用时不可订阅

问题描述

我知道还有其他同名问题,但它们都与索引有关,我在尝试调用 func(r_curr) 时遇到此错误。我已经检查过,分配后 func 不是 nonetype,而是 <function <lambda> at 0x000001BB1E91E510>

def eval_symb_reg(individual,points):
      global X
      global y
      global size
      func = toolBox.compile(expr=individual)
      predict = []
      for i in range(X.shape[0]):
        total = 0
        for j in range(size):
          r_curr = X[i][j*size:(j+1)*size]
          result = func(r_curr)
          total += result[0]
        predict.append(total)
      error = np.sum((np.array(predict) - y) ** 2)
      return [1 / (error / X.shape[0])]

堆栈跟踪:

Traceback (most recent call last):
  File "symbreg.py",line 298,in <module>
    main()
  File "symbreg.py",line 265,in main
    halloffame=hof,verbose=True)
  File "C:\Users\<myuser>\AppData\Local\Programs\Python\python36\lib\site-packages\deap\algorithms.py",line 151,in eaSimple
    for ind,fit in zip(invalid_ind,fitnesses):
  File "symbreg.py",line 198,in eval_symb_reg
    result = func(r_curr)
  File "<string>",line 1,in <lambda>
TypeError: 'nonetype' object is not subscriptable

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)