ValueError: 在神经网络中设置数组元素时使用序列。

我在学习一个关于神经网络的教程,但尝试按照自己的方式进行操作,但在这一行代码时遇到了问题:

_Y[i0,i1]=ForwardPass(Neural_net, np.array([[x0,x1]]))

控制台显示错误信息:

ValueError: setting an array element with a sequence.

变量在以下代码块中定义:

    res = 50    _x0=np.linspace(-1.5,1.5,res)    _x1=np.linspace(-1.5,1.5,res)    _Y = np.zeros((res,res))    for i0,x0 in enumerate(_x0):      for i1,x1 in enumerate(_x1):        _Y[i0,i1]=ForwardPass(Neural_net, np.array([[x0,x1]]))

这是ForwardPass函数的代码:

def ForwardPass(neu_net, ent):  outs=[ent]  for l, layer in enumerate(neu_net):    Sp=outs[-1]@neu_net[l].w + neu_net[l].b    a=neu_net[l].act_f[0](Sp)    outs.append(a)  return outs

回答:

如果你在迭代中添加一个打印语句来检查_Y[i0,i1]的值:

res = 50_x0=np.linspace(-1.5,1.5,res)_x1=np.linspace(-1.5,1.5,res)_Y = np.zeros((res,res))for i0,x0 in enumerate(_x0):    for i1,x1 in enumerate(_x1):        print(_Y[i0,i1])>>0.0  0.0  0.0  ..

_Y[i0,i1] 是一个浮点值,而 ForwardPass(Neural_net, np.array([[x0,x1]])) 的返回结果是一个列表。

因此,正如错误信息 ValueError: setting an array element with a sequence. 所述,这是因为你试图将一个列表(数组)赋值给一个浮点值(数组元素)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注