keras - 删除keras模型中的前n层
问题描述
我有以下 ResNet18 网络,我想用 ConvLSTM2D 层替换第一个卷积 (Conv2D) 层。从我目前的研究来看,我认为最好的选择是删除前三层(0、1、2)并用 ConvLSTM2D 替换第 3 层(Conv2D 层)。但是,我找不到删除第一层的方法。
from keras.models import Sequential, Model
from classification_models.keras import Classifiers
from keras.layers import Dense, Conv2D, MaxPooling2D, AvgPool2D, Input, Dropout, Flatten, BatchNormalization, ConvLSTM2D
im_size = 170
ResNet18, preprocess_input = Classifiers.get('resnet18')
resnet = ResNet18((im_size, im_size, 3), include_top=False)
headModel = keras.layers.pooling.AveragePooling2D(pool_size=(3,3))(resnet.output)
headModel = Flatten(name="flatten")(headModel)
headModel = Dense(256, activation="relu")(headModel)
headModel = Dropout(0.5)(headModel)
headModel = Dense(1, activation="sigmoid")(headModel)
model = Model(inputs=resnet.input, outputs=headModel)
解决方案
推荐阅读
- google-chrome - 如何针对 HSTS 标头检查 wesbites 列表?
- html - 如何在 Angular 2+ 中显示 AngularJS
- flutter - 小部件中的 Flutter if 语句
- cmake - 使用未声明的标识符“_ISspace”
- javascript - 我想创建一个变量来防止用户重复点击,但它不起作用
- ignite - 我们可以在 Ignite Key-Value Cache 中存储复杂的 POJO 对象吗?
- java - Android - 支付成功时Paygate支付网关重定向错误
- c++ - 在 UNICODE_STRING 中搜索字符
- python - 使用 UDP 套接字在 python 中发送连续数据
- actions-on-google - Surface Capabilities——区分智能显示器和移动设备