DeepLabV3ImageSegmenterPreprocessor
類別keras_hub.models.DeepLabV3ImageSegmenterPreprocessor(
image_converter=None, resize_output_mask=False, **kwargs
)
用於影像分割預處理層的基礎類別。
ImageSegmenterPreprocessor
包裝了 keras_hub.layers.ImageConverter
,以建立用於影像分割任務的預處理層。它旨在與 keras_hub.models.ImageSegmenter
任務配對使用。
所有 ImageSegmenterPreprocessor
實例都接受三個輸入:x
、y
和 sample_weight
。
x
:第一個輸入,應始終包含。它可以是影像或一批影像。y
:(可選)通常是分割遮罩,如果 resize_output_mask
設定為 True
,則會調整大小以符合輸入影像形狀,否則將保持不變地傳遞。sample_weight
:(可選)將保持不變地傳遞。resize_output_mask
bool:如果設定為 True
,則輸出遮罩將調整大小以符合輸入影像的大小。預設為 False
。該層將輸出 x
,如果提供了標籤,則輸出 (x, y)
元組,如果提供了標籤和樣本權重,則輸出 (x, y, sample_weight)
元組。x
將是應用所有模型預處理後的輸入影像。
所有 ImageSegmenterPreprocessor
任務都包含一個 from_preset()
建構子,可用於載入預訓練配置。您可以直接在此基礎類別上呼叫 from_preset()
建構子,在這種情況下,將自動實例化適用於您模型的正確類別。
範例。
preprocessor = keras_hub.models.ImageSegmenterPreprocessor.from_preset(
"deeplabv3_resnet50",
)
# Resize a single image for the model.
x = np.ones((512, 512, 3))
x = preprocessor(x)
# Resize an image and its mask.
x, y = np.ones((512, 512, 3)), np.zeros((512, 512, 1))
x, y = preprocessor(x, y)
# Resize a batch of images and masks.
x, y = [np.ones((512, 512, 3)), np.zeros((512, 512, 3))],
[np.ones((512, 512, 1)), np.zeros((512, 512, 1))]
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
方法DeepLabV3ImageSegmenterPreprocessor.from_preset(
preset, config_file="preprocessor.json", **kwargs
)
從模型預設實例化 keras_hub.models.Preprocessor
。
預設是一個配置、權重和其他檔案資產的目錄,用於儲存和載入預訓練模型。preset
可以作為以下其中之一傳遞
'bert_base_en'
'kaggle://user/bert/keras/bert_base_en'
'hf://user/bert_base_en'
'./bert_base_en'
對於任何 Preprocessor
子類別,您可以執行 cls.presets.keys()
以列出該類別上可用的所有內建預設。
由於給定模型通常有多個預處理類別,因此應在特定的子類別(例如 keras_hub.models.BertTextClassifierPreprocessor.from_preset()
)上呼叫此方法。
引數
範例
# 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",
)
預設 | 參數 | 描述 |
---|---|---|
deeplab_v3_plus_resnet50_pascalvoc | 39.19M | 具有 ResNet50 作為影像編碼器,並在增強的 Pascal VOC 資料集上由 Semantic Boundaries Dataset (SBD) 訓練的 DeepLabV3+ 模型,其類別準確度為 90.01,平均 IoU 為 0.63。 |
image_converter
屬性keras_hub.models.DeepLabV3ImageSegmenterPreprocessor.image_converter
用於預處理影像資料的影像轉換器。