如何使用python对RNN算法与CNN层进行组合或将其进行图像分类?
答案 0 :(得分:1)
这取决于您要解决的问题,但是当然可以有多种方法。
一个是您可以将CNN层输入到LSTM层中。在这里,您尝试捕获空间特征,然后将这些特殊特征编码为顺序嵌入。这可以通过时间分配CNN的输出来完成,以便LSTM获得顺序输入。
#define CNN model
cnn = Sequential()
cnn.add(Conv2D(...))
cnn.add(MaxPooling2D(...))
cnn.add(Flatten())
# define LSTM model
model = Sequential()
model.add(TimeDistributed(cnn, ...))
model.add(LSTM(..))
model.add(Dense(...))
您也可以采用其他方法,将LSTM馈入CNN。这可能是因为您可能想对顺序特征进行编码,但是之后,您可能希望这些隐藏表示的空间组合。这本身可以直接实现,而无需任何时间分布的层。
查找更多详细信息here。