当前位置: 首页 > 知识库问答 >
问题:

Keras属性错误:列表对象没有属性ndim

韩禄
2023-03-14

我在Jupyter Notebook中运行Keras神经网络模型(Python 3.6)

我得到以下错误

属性错误:列表对象没有属性ndim

从K调用. fi()方法后eras.model

model  = Sequential()
model.add(Dense(5, input_dim=len(X_data[0]), activation='sigmoid' ))
model.add(Dense(1, activation = 'sigmoid'))
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['acc'])
model.fit(X_data, y_data, epochs=20, batch_size=10)

我检查了Keras的requirements.txt文件(在Anaconda3中),Numpy、smpy和六个模块版本都是最新的。

什么可以解释这个属性错误?

完整的错误消息如下(似乎与Numpy有些关联):

--------------------------------------------------------------------------- 属性错误回溯(最近的调用最后)在()3model.add(密集(1,激活='sigmoid'))4model.compile(损失='mean_squared_error',优化器='adam',度量=['acc']) ----

~\Anaconda3\lib\site packages\keras\models.py拟合(self、x、y、批量大小、epoch、verbose、回调、验证分割、验证数据、洗牌、类权重、样本权重、初始历元、每历元步长、验证步长、**kwargs)963初始历元=初始历元,964个历元步长=每历元步长--

~\Anaconda3\lib\site packages\keras\engine\training.py in fit(self,x,y,批大小,历元,详细,回调,验证拆分,验证数据,随机,类权重,样本权重,初始历元,每历元步数,验证步骤,**kwargs)1591
类权重=类权重,1592检查批权重轴=假-

~\Anaconda3\lib\site-包\keras\引擎\training.py_standardize_user_data(自己,x,y,sample_weight,class_weight,check_batch_axis,batch_size)1424
自己。_feed_input_shapes,1425
check_batch_axis=False,-

~\Anaconda3\lib\site packages\keras\engine\training.py in\u standard\u input\u data(数据、名称、形状、检查批处理轴、异常前缀)68 elif isinstance(数据、列表):69 data=[x.values if x.class.name=='DataFrame'else x for x in data]---

~\Anaconda3\lib\site-包\keras\Engine\training.py在(.0)68 elif实例(数据,列表): 69 data=[x.values如果x.class.name=='DataFrame'其他x在数据中的x]---

属性错误:列表对象没有属性ndim

共有3个答案

公西鸿博
2023-03-14

我不知道您的培训数据的形状,但我怀疑您的输入尺寸有错误。尝试将其更改为input\u dim=len(X\u data),如下所示:

model  = Sequential()
model.add(Dense(5, input_dim=len(X_data), activation='sigmoid' ))
model.add(Dense(1, activation = 'sigmoid'))
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['acc'])
model.fit(X_data, y_data, epochs=20, batch_size=10)

陆昊
2023-03-14

当你导入你应该使用tensorflow.keras而不是仅仅keras像这样:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Input, Conv2D, MaxPool2D, Dense

因为存在与keras模块相关的错误。

参考:这里。

娄嘉石
2023-03-14

model.fit期望x和y为numpy数组。似乎您传递了一个列表,它试图通过读取numpy数组的ndim属性来获取输入的形状,但失败了。

您只需使用np.array对其进行变换即可:

import numpy as np
...
model.fit(np.array(train_X),np.array(train_Y), epochs=20, batch_size=10)
 类似资料:
  • 问题内容: 我正在尝试读取文件,并用逗号在每行中拆分一个单元格,然后仅显示包含有关纬度和经度信息的第一和第二个单元格。这是文件: 时间, 纬度,经度 ,类型2015-03-20T10:20:35.890Z, 38.8221664,-122.7649994 ,地震 2015-03-20T10 :18:13.070Z, 33.2073333,-116.6891667 ,地震 2015-03-20T10

  • 我试图分裂链接的图像是什么错在我的代码

  • 问题内容: 喂, 我的xpath在firePath中进行了验证,但是当我尝试发送_key时出现错误。 AttributeError:“列表”对象没有属性“ send_keys” 有人可以折腾我吗? 问题答案: 您将获得一个webElement 列表 ,该 列表当然不是单个元素,也没有方法。使用代替。请参阅此 api文档。

  • 当我执行代码时,我得到一个错误, 属性错误:“WebDriver”对象没有属性“find_element_by_xpath”

  • 当我运行上述代码行时,我得到以下错误。 返回lambda文档:词干分析器。阀杆(分析仪(doc)) 文件"/usr/local/lib/python2.7/dist-包/nltk/str/porter.py",第654行,在str中 词干=单词。下() AttributeError:“list”对象没有属性“lower” 如何解决这个错误?

  • 我正在创建词汇表,一个GUI程序来管理未知单词。我得到: /usr/bin/python3。5/主页/cali/Pycharm项目/词汇表/词汇表。Tkinter回调回溯中的py异常(最近一次调用最后一次): 文件“/usr/lib/python3.5/Tkinter/init.py”,第1553行,在调用返回self中。func(*args)文件“/home/cali/PycharmProjec