【发布时间】:2020-04-17 10:03:24
【问题描述】:
这是我的代码,用于将 resnet50 模型与此模型(我想在我的数据集上训练)连接起来。我想在代码中冻结 resnet50 模型的层(参见 Trainable=false)。 这里我导入的是 resnet 50 模型
``
import tensorflow.keras
import tensorflow as tf
from tensorflow.keras.applications.resnet50 import ResNet50
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.resnet50 import preprocess_input, decode_predictions
resnet50_imagnet_model = tensorflow.keras.applications.resnet.ResNet50(weights = "imagenet",
include_top=False,
input_shape = (150, 150, 3),
pooling='max')
``
在这里我创建我的模型
```
# freeze feature layers and rebuild model
for l in resnet50_imagnet_model.layers:
l.trainable = False
#construction du model
model5 = [
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(12, activation='softmax')
]
#Jointure des deux modeles
model_using_pre_trained_resnet50 = tf.keras.Sequential(resnet50_imagnet_model.layers + model5 )
```
最后一行不起作用,我有这个错误: conv2_block1_3_conv 层的输入 0 与层不兼容:输入形状的轴 -1 的预期值为 64,但接收到的输入形状为 [None, 38, 38, 256
感谢您的帮助。
【问题讨论】:
标签: python tensorflow keras deep-learning resnet