ImageToImage

[source]

ImageToImage 類別

keras_hub.models.ImageToImage()

圖像到圖像任務的基礎類別。

ImageToImage 任務封裝了 keras_hub.models.Backbonekeras_hub.models.Preprocessor,以建立可用於生成和生成式微調的模型。

ImageToImage 任務提供了一個額外的高階 generate() 函數,可用於通過 token 生成圖像,其簽名為 (圖像、字串) 輸入,圖像輸出。

所有 ImageToImage 任務都包含一個 from_preset() 建構子,可用於載入預訓練的配置和權重。

範例

# Load a Stable Diffusion 3 backbone with pre-trained weights.
reference_image = np.ones((1024, 1024, 3), dtype="float32")
image_to_image = keras_hub.models.ImageToImage.from_preset(
    "stable_diffusion_3_medium",
)
image_to_image.generate(
    reference_image,
    "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k",
)

# Load a Stable Diffusion 3 backbone at bfloat16 precision.
image_to_image = keras_hub.models.ImageToImage.from_preset(
    "stable_diffusion_3_medium",
    dtype="bfloat16",
)
image_to_image.generate(
    reference_image,
    "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k",
)

[source]

from_preset 方法

ImageToImage.from_preset(preset, load_weights=True, **kwargs)

從模型預設實例化 keras_hub.models.Task

預設是一個包含配置、權重和其他檔案資產的目錄,用於儲存和載入預訓練模型。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'

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

此建構子可以通過兩種方式之一調用。可以從特定任務的基礎類別(如 keras_hub.models.CausalLM.from_preset())調用,也可以從模型類別(如 keras_hub.models.BertTextClassifier.from_preset())調用。如果從基礎類別調用,則返回物件的子類別將從預設目錄中的配置中推斷出來。

引數

  • preset:字串。內建預設識別符、Kaggle Models 句柄、Hugging Face 句柄或本地目錄的路徑。
  • load_weights:布林值。如果為 True,則儲存的權重將載入到模型架構中。如果為 False,則所有權重將隨機初始化。

範例

# Load a Gemma generative task.
causal_lm = keras_hub.models.CausalLM.from_preset(
    "gemma_2b_en",
)

# Load a Bert classification task.
model = keras_hub.models.TextClassifier.from_preset(
    "bert_base_en",
    num_classes=2,
)
預設 參數 描述
stable_diffusion_3_medium 2.99B 30 億參數,包括 CLIP L 和 CLIP G 文本編碼器、MMDiT 生成模型和 VAE 自動編碼器。由 Stability AI 開發。
stable_diffusion_3.5_medium 3.37B 30 億參數,包括 CLIP L 和 CLIP G 文本編碼器、MMDiT-X 生成模型和 VAE 自動編碼器。由 Stability AI 開發。
stable_diffusion_3.5_large 9.05B 90 億參數,包括 CLIP L 和 CLIP G 文本編碼器、MMDiT 生成模型和 VAE 自動編碼器。由 Stability AI 開發。
stable_diffusion_3.5_large_turbo 9.05B 90 億參數,包括 CLIP L 和 CLIP G 文本編碼器、MMDiT 生成模型和 VAE 自動編碼器。時間步蒸餾版本,消除了無分類器引導,並使用更少的步驟進行生成。由 Stability AI 開發。

[source]

compile 方法

ImageToImage.compile(optimizer="auto", loss="auto", metrics="auto", **kwargs)

配置 ImageToImage 任務以進行訓練。

ImageToImage 任務使用 optimizerlossmetrics 的預設值擴展了 keras.Model.compile 的預設編譯簽名。要覆蓋這些預設值,請在編譯期間將任何值傳遞給這些引數。

引數

  • optimizer"auto"、optimizer 名稱或 keras.Optimizer 實例。預設為 "auto",它使用給定模型和任務的預設 optimizer。有關可能的 optimizer 值,請參閱 keras.Model.compilekeras.optimizers
  • loss"auto"、loss 名稱或 keras.losses.Loss 實例。預設為 "auto",其中將應用 keras.losses.MeanSquaredError loss。有關可能的 loss 值,請參閱 keras.Model.compilekeras.losses
  • metrics"auto",或在訓練和測試期間由模型評估的 metrics 列表。預設為 "auto",其中將應用 keras.metrics.MeanSquaredError 來追蹤模型在訓練期間的 loss。有關可能的 metrics 值,請參閱 keras.Model.compilekeras.metrics
  • **kwargs:有關 compile 方法支援的完整引數列表,請參閱 keras.Model.compile

[source]

save_to_preset 方法

ImageToImage.save_to_preset(preset_dir)

將任務儲存到預設目錄。

引數

  • preset_dir:本地模型預設目錄的路徑。

preprocessor 屬性

keras_hub.models.ImageToImage.preprocessor

用於預處理輸入的 keras_hub.models.Preprocessor 層。


backbone 屬性

keras_hub.models.ImageToImage.backbone

具有核心架構的 keras_hub.models.Backbone 模型。


[source]

generate 方法

ImageToImage.generate(inputs, num_steps, strength, guidance_scale=None, seed=None)

根據提供的 inputs 生成圖像。

通常,inputs 是一個包含 "images""prompts" 鍵的字典。"images" 是值範圍在 [-1.0, 1.0] 內的參考圖像,將調整大小為 self.backbone.heightself.backbone.width,然後由 VAE 編碼器編碼到潛在空間。"prompts" 是將被分詞並由文本編碼器編碼的字串。

某些模型支援 "negative_prompts" 鍵,這有助於引導模型遠離生成某些風格和元素。要啟用此功能,請將 "negative_prompts" 添加到輸入字典中。

如果 inputstf.data.Dataset,則輸出將「逐批次」生成並串聯。否則,所有輸入將作為批次處理。

引數

  • inputs:python 資料、張量資料或 tf.data.Dataset。格式必須是以下之一
    • 包含 "images""prompts" 和/或 "negative_prompts" 鍵的字典。
    • 包含 "images""prompts" 和/或 "negative_prompts" 鍵的 tf.data.Dataset
  • num_steps:整數。要採取的擴散步驟數。
  • strength:浮點數。指示參考 images 被轉換的程度。必須介於 0.01.0 之間。當 strength=1.0 時,images 基本上被忽略,添加的噪聲最大,並且去噪過程將運行完整迭代次數,該次數在 num_steps 中指定。
  • guidance_scale:可選的浮點數。在 無分類器擴散引導 中定義的無分類器引導尺度。更高的尺度鼓勵生成與提示更密切相關的圖像,通常以較低的圖像品質為代價。請注意,某些模型不使用無分類器引導。
  • seed:可選的整數。用作隨機種子。