ValueError:检查输入时出错:预期dropout_5_input具有2维,但数组的形状为()

时间:2018-07-31 20:37:38

标签: python deep-learning

我正在学习深度学习。我正在python 3.6中使用keras进行深度学习。对于我的深度学习任务,我有136个输入变量。我已经编写了一个自定义损失函数。下面是损失函数的代码

import keras.backend as K
def rmsle(y, y0):
    return K.sqrt(K.mean(K.pow(K.log(y)-K.log(y0), 2)))

这是我用于深度学习的代码

model=keras.models.Sequential()    
model.add(Dropout(0.2, input_shape=(136,)))    
model.add(keras.layers.Dense(20,kernel_initializer='normal',activation='relu',kernel_constraint=maxnorm(3)))        
model.add(keras.layers.Dense(45,kernel_initializer='normal',activation='relu',kernel_constraint=maxnorm(3)))
model.add(keras.layers.Dense(20,kernel_initializer='normal',activation='relu',kernel_constraint=maxnorm(3)))
model.add(keras.layers.Dense(1,kernel_initializer='normal',activation='tanh',kernel_constraint=maxnorm(3)))
model.compile(loss=rmsle,optimizer='adam')    
model.fit(input,outpu,epochs=100,shuffle=True,verbose=2)

我收到错误消息为

ValueError: Error when checking input: expected dropout_5_input to have 2 dimensions, but got array with shape ()

您能帮我解决这个问题吗?

std_df是我从中获取输入和输出的数据框。我做了下面的检查,看是否有空行

np.where(std_df.applymap(lambda x: x == ''))
(array([], dtype=int64), array([], dtype=int64))

0 个答案:

没有答案