【问题标题】:MaxPooling2D has incorrect syntax which i can't findMaxPooling2D 的语法不正确,我找不到
【发布时间】:2020-02-21 02:15:13
【问题描述】:

我正在尝试为 cifar-10 数据集创建一个简单的分类模型。模型在达到 Maxpooling 功能时失败。它说它的语法不正确,但对于我来说,我无法弄清楚什么是错的。

这是我使用的 keras 版本吗?当我将 maxpooling 添加到大小为 2、2 的模型中时,它不起作用,并且在文档中,我正在做完全相同的事情,这让我认为这是一个版本问题。

如果问题很明显,请见谅

 model = Sequential()
 model.add(Conv2D(32, (3,3), padding = 'same', input_shape=(32,32,3)))

 model.add(Activation('relu')

 model.add(MaxPooling2D(pool_size=(2, 2)))

 model.add(Dropout(0.25))

model.add(Flatten())

model.add(Dense(512))

model.add(Activation('relu')

model.add(Dropout(0.5))

model.add(Dense(10))

model.add(Activation('softmax'))

model.summary()

【问题讨论】:

  • 每次添加relu Activation 层时,您都会忘记结束)
  • @Chrispresso 我知道我是个白痴,天知道我阅读了文档多长时间,但非常感谢。如果我可能会问你,要聘用数据科学家是做 kaggle 数据集的好方法
  • 我会说这取决于。但老实说,它并没有伤害。我真的很喜欢做 Kaggle 问题,因为我可以在数据集上尝试想法,然后比较其他人是如何解决这个问题的。这在学习更有效的数据清理方法、使用 t-sne 进行可视化、自动编码器等方面帮助了我很多。在学校里,你会做数学、化学、写作等方面的问题集,以便在这些主题上做得更好。我认为 Kaggle 是提高数据科学家技能的好方法。

标签: python keras-layer max-pooling


【解决方案1】:

最大池没有任何问题。您的问题是您在上一行中缺少一些括号。在下面找到更正的代码

model = Sequential()
model.add(Conv2D(32, (3,3), padding = 'same', input_shape=(32,32,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())

model.add(Dense(512))

model.add(Activation('relu'))

model.add(Dropout(0.5))

model.add(Dense(10))

model.add(Activation('softmax'))

model.summary()

希望这会有所帮助。

【讨论】:

  • 现在还没有显示选项,我想我得稍等一下
  • 我能问你一个问题吗?如果你想成为一名数据科学家,做 kaggle 数据集是个好主意吗?我在我的最后一年,我不知道在大学之外展示什么
  • kaggle 一直是并且永远是最适合你开始的,因为你将开始使用类似于真实的东西。与一些 MOOCS 一起学习也很好,可以让你的概念和基础更牢固。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-01
  • 1970-01-01
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
  • 2014-12-13
  • 1970-01-01
相关资源
最近更新 更多