ValueError:检查目标时出错:预期dense_4的形状为(4,)但得到的数组形状为(1,)
Posted
技术标签:
【中文标题】ValueError:检查目标时出错:预期dense_4的形状为(4,)但得到的数组形状为(1,)【英文标题】:ValueError: Error when checking target : expected dense_4 to have shape (4, ) but got array with shape (1, ) 【发布时间】:2019-08-01 10:42:09 【问题描述】:我已经为我自己的数据集尝试了这个模型(“https://github.com/LZQthePlane/Online-Realtime-Action-Recognition-based-on-OpenPose”)(我已经给出了坐姿动作视频并转换为 csv 文件)。 CSV 文件包含 1000 条记录。 现在在 action_enum.py 我只有 sat action 。 在 train.py 文件中,我更改了
encoder_Y = [0]*744 + [1]*722 + [2]*815 + [3]*1008
到
encoder_Y = [0]*1000
(仅用于坐姿)。
更改 train.py 文件后,出现此错误。
【问题讨论】:
【参考方案1】:因为你只有一个类,你应该改变你的模型只输出一个值。
在Action/training/train.py
:
# build keras model
model = Sequential()
model.add(Dense(units=128, activation='relu'))
model.add(BatchNormalization())
model.add(Dense(units=64, activation='relu'))
model.add(BatchNormalization())
model.add(Dense(units=16, activation='relu'))
model.add(BatchNormalization())
# change 4 to 1
model.add(Dense(units=1, activation='softmax'))
【讨论】:
以上是关于ValueError:检查目标时出错:预期dense_4的形状为(4,)但得到的数组形状为(1,)的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:检查目标时出错:预期activation_6 的形状为(70,)但得到的数组形状为(71,)
ValueError:检查目标时出错:预期dense_4的形状为(4,)但得到的数组形状为(1,)
ValueError:检查目标时出错:预期dense_3的形状为(1,)但得到的数组形状为(2,)
ValueError:检查目标时出错:预期activation_6具有形状(无,2)但得到的数组具有形状(5760,1)
ValueError:检查目标时出错:预期 activation_17 具有 2 维,但得到的数组形状为 (1, 256, 256, 3)
ValueError:检查目标时出错:预期 main_prediction 有 3 个维度,但得到了形状为 (1128, 1) 的数组