KerasHub:預訓練模型 / API 文件 / 模型架構 / MiT / MiT影像分類器預處理層

MiT影像分類器預處理層

[原始碼]

MiTImageClassifierPreprocessor 類別

keras_hub.models.MiTImageClassifierPreprocessor(image_converter=None, **kwargs)

影像分類預處理層的基底類別。

ImageClassifierPreprocessor 任務包裝了 keras_hub.layers.ImageConverter,以建立用於影像分類任務的預處理層。它旨在與 keras_hub.models.ImageClassifier 任務配對使用。

所有 ImageClassifierPreprocessor 接受三個輸入:xysample_weightx 作為第一個輸入,必須始終包含。它可以是單張影像或一批影像。請參閱以下範例。ysample_weight 是可選輸入,將不經修改地傳遞。通常,y 將是分類標籤,而 sample_weight 將不會提供。

如果提供了標籤,則此層將輸出 x(x, y) 元組;如果提供了標籤和樣本權重,則輸出 (x, y, sample_weight) 元組。x 將是應用所有模型預處理後的輸入影像。

所有 ImageClassifierPreprocessor 任務都包含一個 from_preset() 建構子,可用於載入預訓練的配置和詞彙表。您可以直接在此基底類別上呼叫 from_preset() 建構子,在這種情況下,將自動實例化適合您模型的正確類別。

範例。

preprocessor = keras_hub.models.ImageClassifierPreprocessor.from_preset(
    "resnet_50",
)

# Resize a single image for resnet 50.
x = np.random.randint(0, 256, (512, 512, 3))
x = preprocessor(x)

# Resize a labeled image.
x, y = np.random.randint(0, 256, (512, 512, 3)), 1
x, y = preprocessor(x, y)

# Resize a batch of labeled images.
x, y = [
    np.random.randint(0, 256, (512, 512, 3)),
    np.zeros((512, 512, 3))
], [1, 0]
x, y = preprocessor(x, y)

# Use a [`tf.data.Dataset`](https://tensorflow.dev.org.tw/api_docs/python/tf/data/Dataset).
ds = tf.data.Dataset.from_tensor_slices((x, y)).batch(2)
ds = ds.map(preprocessor, num_parallel_calls=tf.data.AUTOTUNE)

[原始碼]

from_preset 方法

MiTImageClassifierPreprocessor.from_preset(
    preset, config_file="preprocessor.json", **kwargs
)

從模型預設配置實例化 keras_hub.models.Preprocessor

預設配置是一個目錄,其中包含用於儲存和載入預訓練模型的配置、權重和其他檔案資產。preset 可以作為以下其中一種傳遞

  1. 一個內建的預設配置識別符,例如 'bert_base_en'
  2. 一個 Kaggle Models 控制代碼,例如 'kaggle://user/bert/keras/bert_base_en'
  3. 一個 Hugging Face 控制代碼,例如 'hf://user/bert_base_en'
  4. 一個指向本機預設配置目錄的路徑,例如 './bert_base_en'

對於任何 Preprocessor 子類別,您可以執行 cls.presets.keys() 以列出該類別上所有可用的內建預設配置。

由於給定模型通常有多個預處理類別,因此應在特定的子類別(例如 keras_hub.models.BertTextClassifierPreprocessor.from_preset())上呼叫此方法。

引數

  • preset:字串。一個內建的預設配置識別符、Kaggle Models 控制代碼、Hugging Face 控制代碼或指向本機目錄的路徑。

範例

# Load a preprocessor for Gemma generation.
preprocessor = keras_hub.models.CausalLMPreprocessor.from_preset(
    "gemma_2b_en",
)

# Load a preprocessor for Bert classification.
preprocessor = keras_hub.models.TextClassifierPreprocessor.from_preset(
    "bert_base_en",
)
預設配置 參數 描述
mit_b0_ade20k_512 3.32M 具有 8 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b0_cityscapes_1024 3.32M 具有 8 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b1_ade20k_512 13.16M 具有 8 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b1_cityscapes_1024 13.16M 具有 8 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b2_ade20k_512 24.20M 具有 16 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b2_cityscapes_1024 24.20M 具有 16 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b3_ade20k_512 44.08M 具有 28 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b3_cityscapes_1024 44.08M 具有 28 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b4_ade20k_512 60.85M 具有 41 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b4_cityscapes_1024 60.85M 具有 41 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b5_ade20k_640 81.45M 具有 52 個 Transformer 區塊的 MiT (MixTransformer) 模型。
mit_b5_cityscapes_1024 81.45M 具有 52 個 Transformer 區塊的 MiT (MixTransformer) 模型。

image_converter 屬性

keras_hub.models.MiTImageClassifierPreprocessor.image_converter

用於預處理影像資料的影像轉換器。