XceptionBackbone
类keras_hub.models.XceptionBackbone(
stackwise_conv_filters,
stackwise_pooling,
image_shape=(None, None, 3),
data_format=None,
dtype=None,
**kwargs
)
具有超参数的 Xception 核心网络。
此类实现了 Xception: Deep Learning with Depthwise Separable Convolutions 中描述的 Xception 骨干网络。
大多数用户会希望使用此模型提供的预训练预设。如果您正在创建自定义骨干网络,此模型通过 stackwise_conv_filters
和 stackwise_pooling
参数提供了可定制性。此骨干网络假定与原始 Xception 模型相同的基本结构:* 除第一个和最后一个块外,所有地方都有残差和预激活。* 仅第一个块使用卷积层,其他地方使用深度可分离卷积层。
参数
(None, None, 3)
。None
或字符串。如果指定,则为 "channels_last"
或 "channels_first"
。如果未指定,将使用 Keras 默认值。None
或 str 或 keras.mixed_precision.DTypePolicy
。用于模型计算和权重的 dtype。示例
input_data = np.random.uniform(0, 1, size=(2, 224, 224, 3))
# Pretrained Xception backbone.
model = keras_hub.models.Backbone.from_preset("xception_41_imagenet")
model(input_data)
# Randomly initialized Xception backbone with a custom config.
model = keras_hub.models.XceptionBackbone(
stackwise_conv_filters=[[32, 64], [64, 128], [256, 256]],
stackwise_pooling=[True, True, False],
)
model(input_data)
from_preset
方法XceptionBackbone.from_preset(preset, load_weights=True, **kwargs)
从模型预设实例化一个 keras_hub.models.Backbone
。
预设是一个包含配置、权重和其他文件资源的目录,用于保存和加载预训练模型。preset
可以作为以下之一传递:
'bert_base_en'
'kaggle://user/bert/keras/bert_base_en'
'hf://user/bert_base_en'
'./bert_base_en'
此构造函数可以通过两种方式调用。可以从基类调用,如 keras_hub.models.Backbone.from_preset()
,也可以从模型类调用,如 keras_hub.models.GemmaBackbone.from_preset()
。如果从基类调用,则返回对象的子类将根据预设目录中的配置进行推断。
对于任何 Backbone
子类,您可以运行 cls.presets.keys()
来列出该类上所有可用的内置预设。
参数
示例
# Load a Gemma backbone with pre-trained weights.
model = keras_hub.models.Backbone.from_preset(
"gemma_2b_en",
)
# Load a Bert backbone with a pre-trained config and random weights.
model = keras_hub.models.Backbone.from_preset(
"bert_base_en",
load_weights=False,
)
预设 | 参数 | 描述 |
---|---|---|
xception_41_imagenet | 20.86M | 41 层 Xception 模型,在 ImageNet 1k 上预训练。 |