首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:“Sequential”对象没有属性“”ndim“”

AttributeError:“Sequential”对象没有属性“”ndim“”
EN

Stack Overflow用户
提问于 2020-01-19 14:53:34
回答 1查看 217关注 0票数 1

我是做机器学习项目的新手。我已经开始使用keras开发小项目了。最近,我的程序出现了一个错误。我执行了以下程序。我使用Sequential模型进行开发:

代码语言:javascript
复制
f=Sequential()
f.add(Dense(64,input_shape=(9,),activation='relu'))
f.add(Dense(128,activation='tanh'))
f.add(Dense(128,activation='relu'))
f.add(Dense(64,activation='tanh'))
f.add(Dense(1,activation='sigmoid'))
f.compile(loss='binary_crossentropy',optimizer='rmsprop',metrics=['accuracy'])
f.fit(d,f,epochs=20,batch_size=10)

它显示以下错误:

代码语言:javascript
复制
AttributeError                            Traceback (most recent call last)
<ipython-input-7-4d0153cd53cb> in <module>
     36 f.add(Dense(1,activation='sigmoid'))
     37 f.compile(loss='binary_crossentropy',optimizer='rmsprop',metrics=['accuracy'])
---> 38 f.fit(d,f,epochs=20,batch_size=10)

~\Anaconda3\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, ` 
 verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, 
 initial_epoch, steps_per_epoch, validation_steps, **kwargs)`
    950             sample_weight=sample_weight,
    951             class_weight=class_weight,
--> 952             batch_size=batch_size)
    953         # Prepare validation data.
    954         do_validation = False



 ~\Anaconda3\lib\site-packages\keras\engine\training.py in _standardize_user_data(self, x, y, 
   sample_weight, class_weight, check_array_lengths, batch_size)
        787                 feed_output_shapes,
        788                 check_batch_axis=False,  # Don't enforce the batch size.
    --> 789                 exception_prefix='target')
        790 
        791             # Generate sample-wise weight values given the `sample_weight` and

    ~\Anaconda3\lib\site-packages\keras\engine\training_utils.py in standardize_input_data(data, names, 
   shapes, check_batch_axis, exception_prefix)
         90         data = data.values if data.__class__.__name__ == 'DataFrame' else data
         91         data = [data]
    ---> 92     data = [standardize_single_array(x) for x in data]
         93 
         94     if len(data) != len(names):

    ~\Anaconda3\lib\site-packages\keras\engine\training_utils.py in <listcomp>(.0)
         90         data = data.values if data.__class__.__name__ == 'DataFrame' else data
         91         data = [data]
    ---> 92     data = [standardize_single_array(x) for x in data]
         93 
         94     if len(data) != len(names):



 ~\Anaconda3\lib\site-packages\keras\engine\training_utils.py in standardize_single_array(x)
         25                 'Got tensor with shape: %s' % str(shape))
         26         return x
    ---> 27     elif x.ndim == 1:
         28         x = np.expand_dims(x, 1)`enter code here`
         29     return x

        AttributeError: 'Sequential' object has no attribute 'ndim'

错误是由于我的错误编码,还是由于任何内部问题?

任何建议都会有帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-01-19 17:01:25

代码的最后一行是错误的

代码语言:javascript
复制
f.fit(d,f,epochs=20,batch_size=10)

您应该将机器学习问题的目标传递给fit,如doc所示

代码语言:javascript
复制
fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None, validation_freq=1, max_queue_size=10, workers=1, use_multiprocessing=False)

试试像这样的东西

代码语言:javascript
复制
f.fit(x,y,epochs=20,batch_size=10)

其中x是变量,y是训练目标,例如线性模型中"y = Ax + b“中的x和y。

一条建议:在进行项目之前,先阅读Keras的文档或一些教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59807849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档