ViTDetBackbone
類別keras_hub.models.ViTDetBackbone(
hidden_size,
num_layers,
intermediate_dim,
num_heads,
global_attention_layer_indices,
image_shape=(None, None, 3),
patch_size=16,
num_output_channels=256,
use_bias=True,
use_abs_pos=True,
use_rel_pos=True,
window_size=14,
layer_norm_epsilon=1e-06,
**kwargs
)
ViT 圖像編碼器的實作。
ViTDetBackbone
使用視窗化 Transformer 編碼器和相對位置編碼。此程式碼改編自Segment Anything 論文、Segment Anything GitHub 和 Detectron2。
引數
MultiHeadAttentionWithRelativePE
層中要使用的頭數。(H, W, C)
。預設為 (None, None, 3)
。16
。256
。True
。True
。True
。14
。1e-6
。範例
input_data = np.ones((2, 224, 224, 3), dtype="float32")
# Pretrained ViTDetBackbone backbone.
model = keras_hub.models.ViTDetBackbone.from_preset("vit_det")
model(input_data)
# Randomly initialized ViTDetBackbone backbone with a custom config.
model = keras_hub.models.ViTDetBackbone(
image_shape = (16, 16, 3),
patch_size = 2,
hidden_size = 4,
num_layers = 2,
global_attention_layer_indices = [2, 5, 8, 11],
intermediate_dim = 4 * 4,
num_heads = 2,
num_output_channels = 2,
window_size = 2,
)
model(input_data)
from_preset
方法ViTDetBackbone.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,
)