问题描述
我已经针对1D数据调整了AlexNet架构,如下所示:
import keras
from keras.models import Sequential
from keras.layers import Dense,Activation,Dropout,Flatten,Conv1D,MaxPooling1D
from keras.layers.normalization import BatchNormalization
import numpy as np
np.random.seed(1000)
#Instantiate an empty model
model = Sequential()
# 1st Convolutional Layer
model.add(layers.Embedding(vocab_size,embedding_dim,input_length=input_length))
model.add(Conv1D(filters=96,kernel_size=11,strides=4,padding='same'))
model.add(Activation('relu'))
# Max Pooling
model.add(MaxPooling1D(pool_size=2,strides=2,padding='same'))
# model.add(Flatten())
# 2nd Convolutional Layer
model.add(Conv1D(filters=256,strides=1,padding='same'))
# model.add(Flatten())
# 3rd Convolutional Layer
model.add(Conv1D(filters=384,kernel_size=3,padding='same'))
model.add(Activation('relu'))
# 4th Convolutional Layer
model.add(Conv1D(filters=384,padding='same'))
model.add(Activation('relu'))
# 5th Convolutional Layer
model.add(Conv1D(filters=256,padding='same'))
# Passing it to a Fully Connected layer
model.add(Flatten())
# 1st Fully Connected Layer
model.add(Dense(4096,input_shape=(10,39424)))
model.add(Activation('relu'))
# Add Dropout to prevent overfitting
model.add(Dropout(0.4))
# 2nd Fully Connected Layer
model.add(Dense(4096))
model.add(Activation('relu'))
# Add Dropout
model.add(Dropout(0.4))
# 3rd Fully Connected Layer
model.add(Dense(1000))
model.add(Activation('relu'))
# Add Dropout
model.add(Dropout(0.4))
# Output Layer
model.add(Dense(8))
model.add(Activation('softmax'))
model.summary()
# Compile the model
model.compile(loss=keras.losses.categorical_crossentropy,optimizer='adam',metrics=['accuracy'])
但是,我遇到以下错误:
ValueError: Input 0 of layer dense_30 is incompatible with the layer: expected axis -1 of input shape
to have value 39424 but received input with shape [10,23552]
我不知道为什么平坦层给出[10,23552]的输出。它应该给出39424! 问题是第一个密集层从平坦层收到了不可预测的数据形状! 我认为扁平化层必须输出1D数据而不是2D数据([10,23552]) 模型摘要如下:
Model: "sequential_15"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding_13 (Embedding) (None,4924,128) 6400
_________________________________________________________________
conv1d_40 (Conv1D) (None,1231,96) 135264
_________________________________________________________________
activation_47 (Activation) (None,96) 0
_________________________________________________________________
max_pooling1d_25 (MaxPooling (None,616,96) 0
_________________________________________________________________
conv1d_41 (Conv1D) (None,256) 270592
_________________________________________________________________
activation_48 (Activation) (None,256) 0
_________________________________________________________________
max_pooling1d_26 (MaxPooling (None,308,256) 0
_________________________________________________________________
conv1d_42 (Conv1D) (None,384) 295296
_________________________________________________________________
activation_49 (Activation) (None,384) 0
_________________________________________________________________
conv1d_43 (Conv1D) (None,384) 442752
_________________________________________________________________
activation_50 (Activation) (None,384) 0
_________________________________________________________________
conv1d_44 (Conv1D) (None,256) 295168
_________________________________________________________________
activation_51 (Activation) (None,256) 0
_________________________________________________________________
max_pooling1d_27 (MaxPooling (None,154,256) 0
_________________________________________________________________
flatten_13 (Flatten) (None,39424) 0
_________________________________________________________________
dense_30 (Dense) (None,4096) 161484800
_________________________________________________________________
activation_52 (Activation) (None,4096) 0
_________________________________________________________________
dropout_18 (Dropout) (None,4096) 0
_________________________________________________________________
dense_31 (Dense) (None,4096) 16781312
_________________________________________________________________
activation_53 (Activation) (None,4096) 0
_________________________________________________________________
dropout_19 (Dropout) (None,4096) 0
_________________________________________________________________
dense_32 (Dense) (None,1000) 4097000
_________________________________________________________________
activation_54 (Activation) (None,1000) 0
_________________________________________________________________
dropout_20 (Dropout) (None,1000) 0
_________________________________________________________________
dense_33 (Dense) (None,8) 8008
_________________________________________________________________
activation_55 (Activation) (None,8) 0
=================================================================
Total params: 183,816,592
Trainable params: 183,592
Non-trainable params: 0
任何线索?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)