keras编写代码,dense层维度多出一维,求大佬解疑答惑
轴承故障的一维数据诊断和分类
我原先用TensorFlow编写的空洞门卷积代码,然后接了两个双向LSTM层和两个dense层,是可以运行程序的,为了出图比较方便,用Keras重新编写了我的代码。其中空洞门卷积是我自己编写的代码,TensorFlow版本如下:
def conv1d_block(self, x, filters, kernel_size, dr, pd='SAME',name="name"):
"""
gated dilation conv1d layer
"""
glu = tf.sigmoid(tf.layers.conv1d(x, filters, kernel_size, dilation_rate=dr, padding=pd))
print('glu=',glu)
conv = tf.tanh(tf.layers.conv1d(x, filters, kernel_size, dilation_rate=dr, padding=pd))
print('conv=',conv)
conv3 = tf.layers.conv1d(x, filters, kernel_size, dilation_rate=dr, padding=pd)
cog = tf.multiply(conv, glu)
cog1 = tf.multiply(1-glu, conv3)
outputs = tf.add(cog, cog1)
print('outputs=',outputs)
return outputs
然后用Keras编写的代码如下:
def conv1d_block(input,filters, kernerl_size, strides, conv_padding,dr,name ):
"""
gated dilation conv1d layer
"""
glu =Conv1D(filters=filters, kernel_size=kernerl_size, strides=strides,
padding=conv_padding,dilation_rate=dr )(input)
glu=k.sigmoid(glu)
print('glu=',glu)
conv = Conv1D(filters=filters, kernel_size=kernerl_size, strides=strides,
padding=conv_padding,dilation_rate=dr )(input)
conv=k.tanh(conv)
print('conv=',conv)
conv3