SigLIPBackbone
类keras_hub.models.SigLIPBackbone(vision_encoder, text_encoder, dtype=None, **kwargs)
带有超参数的 SigCLIP 核心网络。
此骨干网络实现了 Sigmoid 损失在 Language-Image Pre-training (SigLIP) 模型中的基础架构。与使用 Softmax 归一化的标准对比学习不同,Sigmoid 损失仅对图像-文本对进行操作,并且不需要全局的成对相似度视图进行归一化。它包括视觉编码器和文本编码器。此骨干网络输出对应于每个图像和文本输入的最终 Logit 分数。
默认构造函数提供一个完全可定制、随机初始化的 SigLIP 模型,可以包含任意数量的层、注意力头和嵌入维度。要加载预设架构和权重,请使用 from_preset
构造函数。
参数
keras.mixed_precision.DTypePolicy
。用于模型计算和权重的 dtype。请注意,某些计算(如 Softmax 和层归一化)无论 dtype 如何,都将始终使用 float32 精度进行。示例
input_data = {
"images": np.ones(shape=(1, 224, 224, 3), dtype="float32"),
"token_ids": np.ones(shape=(1, 64), dtype="int32"),
}
# Pretrained SigLIP model.
model = keras_hub.models.SigLIPBackbone.from_preset(
"siglip_base_patch16_224"
)
model(input_data)
# Randomly initialized SigLIP model with custom config.
vision_encoder = keras_hub.models.SigLIPVisionEncoder(
patch_size=32,
hidden_dim=768,
num_layers=8,
num_heads=8,
intermediate_dim=2048,
image_shape=(384, 384, 3),
)
text_encoder = keras_hub.models.SigLIPTextEncoder(
vocabulary_size=32000,
embedding_dim=768,
hidden_dim=768,
num_layers=8,
num_heads=8,
intermediate_dim=2048,
)
model = keras_hub.models.SigLIPBackbone(
vision_encoder=vision_encoder,
text_encoder=text_encoder,
)
model(input_data)
from_preset
方法SigLIPBackbone.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()
来列出该类上所有可用的内置预设。
参数
True
,则会将权重加载到模型架构中。如果为 False
,则会随机初始化权重。示例
# 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,
)
预设 | 参数 | 描述 |
---|---|---|
siglip_base_patch16_224 | 203.16M | 2 亿参数,图像尺寸 224,在 WebLi 上预训练。 |
siglip_base_patch16_256 | 203.20M | 2 亿参数,图像尺寸 256,在 WebLi 上预训练。 |
siglip_base_patch16_384 | 203.45M | 2 亿参数,图像尺寸 384,在 WebLi 上预训练。 |
siglip_base_patch16_512 | 203.79M | 2 亿参数,图像尺寸 512,在 WebLi 上预训练。 |
siglip_base_patch16_256_multilingual | 370.63M | 3.7 亿参数,图像尺寸 256,在 WebLi 上预训练。 |
siglip2_base_patch16_224 | 375.19M | 3.75 亿参数,Patch 尺寸 16,图像尺寸 224,在 WebLi 上预训练。 |
siglip2_base_patch16_256 | 375.23M | 3.75 亿参数,Patch 尺寸 16,图像尺寸 256,在 WebLi 上预训练。 |
siglip2_base_patch32_256 | 376.86M | 3.76 亿参数,Patch 尺寸 32,图像尺寸 256,在 WebLi 上预训练。 |
siglip2_base_patch16_384 | 376.86M | 3.76 亿参数,Patch 尺寸 16,图像尺寸 384,在 WebLi 上预训练。 |
siglip_large_patch16_256 | 652.15M | 6.52 亿参数,图像尺寸 256,在 WebLi 上预训练。 |
siglip_large_patch16_384 | 652.48M | 6.52 亿参数,图像尺寸 384,在 WebLi 上预训练。 |
siglip_so400m_patch14_224 | 877.36M | 8.77 亿参数,图像尺寸 224,形状优化版本,在 WebLi 上预训练。 |
siglip_so400m_patch14_384 | 877.96M | 8.77 亿参数,图像尺寸 384,形状优化版本,在 WebLi 上预训练。 |
siglip2_large_patch16_256 | 881.53M | 8.81 亿参数,Patch 尺寸 16,图像尺寸 256,在 WebLi 上预训练。 |
siglip2_large_patch16_384 | 881.86M | 8.81 亿参数,Patch 尺寸 16,图像尺寸 384,在 WebLi 上预训练。 |
siglip2_large_patch16_512 | 882.31M | 8.82 亿参数,Patch 尺寸 16,图像尺寸 512,形状优化版本,在 WebLi 上预训练。 |
siglip_so400m_patch16_256_i18n | 1.13B | 11 亿参数,图像尺寸 256,形状优化版本,在 WebLi 上预训练。 |
siglip2_so400m_patch14_224 | 1.14B | 11 亿参数,Patch 尺寸 14,图像尺寸 224,形状优化版本,在 WebLi 上预训练。 |
siglip2_so400m_patch16_256 | 1.14B | 11 亿参数,Patch 尺寸 16,图像尺寸 256,形状优化版本,在 WebLi 上预训练。 |
siglip2_so400m_patch14_384 | 1.14B | 11 亿参数,Patch 尺寸 14,图像尺寸 224,形状优化版本,在 WebLi 上预训练。 |
siglip2_so400m_patch16_384 | 1.14B | 11 亿参数,Patch 尺寸 16,图像尺寸 384,形状优化版本,在 WebLi 上预训练。 |
siglip2_so400m_patch16_512 | 1.14B | 11 亿参数,Patch 尺寸 16,图像尺寸 512,形状优化版本,在 WebLi 上预训练。 |
siglip2_giant_opt_patch16_256 | 1.87B | 18 亿参数,Patch 尺寸 16,图像尺寸 256,在 WebLi 上预训练。 |
siglip2_giant_opt_patch16_384 | 1.87B | 18 亿参数,Patch 尺寸 16,图像尺寸 384,在 WebLi 上预训练。 |