tensorflow调用骨干网络
时间: 2023-07-08 10:39:19 浏览: 86
TensorFlow可以使用预训练的骨干网络来进行图像分类、对象检测等任务。以下是一个使用ResNet50作为骨干网络的示例代码:
```
import tensorflow as tf
from tensorflow.keras.applications.resnet50 import ResNet50
# 载入预训练的ResNet50模型
resnet = ResNet50(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
# 冻结所有层,只训练新添加的分类层
for layer in resnet.layers:
layer.trainable = False
# 添加分类层
x = tf.keras.layers.Flatten()(resnet.output)
x = tf.keras.layers.Dense(256, activation='relu')(x)
output = tf.keras.layers.Dense(10, activation='softmax')(x)
model = tf.keras.models.Model(inputs=resnet.input, outputs=output)
```
这里使用了ResNet50预训练模型,将其输入尺寸设置为(224, 224, 3),并添加了一个全连接层和一个softmax层用于分类。其中,`include_top=False`表示不包括原始的分类层,`trainable=False`表示冻结所有层,只训练新添加的分类层。
阅读全文