想要写分类器对图片进行分类,用到了CNN。然而,在运行程序时,一直报错:
ValueError: Negative dimension size caused by subtracting 5 from 1 for ‘conv2d_1/convolution' (op: ‘Conv2D') with input shapes: ["valid"))
问题出在input_shape上,报错的大意就是我的输入的维度是错误的。
百思不得其解,在Stackoverflow上找到了答案:
Keras的图片处理文档中给出:
dim_ordering: One of {“th”, “tf”}. “tf” mode means that the images should have shape (samples, height, width, channels), “th” mode means that the images should have shape (samples, channels, height, width). It defaults to the image_dim_ordering value found in your Keras config file at ~/.keras/keras.json. If you never set it, then it will be “tf”.
翻译过来意思就是:关于图片的维度顺序有两种类型,分别是“th”和”tf“,它们的差别如下:
图片维序类型为 th 时(dim_ordering='th'): 输入数据格式为[samples][channels][rows][cols];
# 图片维序类型为 tf 时(dim_ordering='tf'): 输入数据格式为[samples][rows][cols][channels];
在Keras里默认的是“tf”顺序,如果想要改为“th”顺序,需要手动在前面加上如下代码:
from keras import backend as K
K.set_image_dim_ordering('th')
现在回头看我的输入维度顺序,显然是用了th的格式,
model.add(Conv2D(30,(5, 5), input_shape=(1, 28, 28), activation='relu',padding="valid"))
所以,程序一定会报错。
于是在建立模型前加入了前面提到的代码。
至此,该问题解决。
补充知识:Keras一维卷积维度报错
在使用Keras维度报错的时候很有可能是因为在池化层出错。卷积层里面的维度一般都是3维数据,但是在池化是如果设置是这样的,那么输出的就是二维数据:
model.add(Conv1D(filters=23, kernel_size=4, activation='relu'))
model.add(AveragePooling1D())
如果下面接的还是卷积层的话,这样的池化输出是会报错的,这个时候就需要让池化层的输出为3维,这样设置就可以了:
model.add(Conv1D(filters=23, kernel_size=4, activation='relu'))
model.add(AveragePooling1D(2, strides=2))
另外,在卷积层后跟着全连接层的话,中间一般是要加flatten层,使数据输出为全连接层能接受的2维,否则的话可能网络结果是错的。
以上这篇解决Keras中CNN输入维度报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
Keras,CNN,维度
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】