最近在读paper,看keras复现模型时看到了除了用Sequential()不断add(layers)的写法之外还有另一种方式,即在layer类后加(layer)这种方式,花了些时间去理解和学习,在此分享一下两种表述。
以下两种代码搭建的是相同的网络结构。
[1] 利用Sequential()作为起始,不断add()后面的layer,架构线性表示,即
y = f ( x ) → z = g ( y ) → m = h ( z ) → … y=f(x) \rightarrow z=g(y) \rightarrow m=h(z) \rightarrow \dots y=f(x)→z=g(y)→m=h(z)→…
from keras.models import Sequential
from keras.layers import Conv2d, Maxpooling2D
from keras.layers import Dense, Dropout, Flatten
model = Sequential()
# input: 100x100 images with 3 channels -> (100, 100, 3) tensors.