ImageToImage
類別keras_hub.models.ImageToImage()
圖像到圖像任務的基礎類別。
ImageToImage
任務封裝了 keras_hub.models.Backbone
和 keras_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",
)
from_preset
方法ImageToImage.from_preset(preset, load_weights=True, **kwargs)
從模型預設實例化 keras_hub.models.Task
。
預設是一個包含配置、權重和其他檔案資產的目錄,用於儲存和載入預訓練模型。preset
可以作為以下其中之一傳遞
'bert_base_en'
'kaggle://user/bert/keras/bert_base_en'
'hf://user/bert_base_en'
'./bert_base_en'
對於任何 Task
子類別,您可以執行 cls.presets.keys()
以列出類別上所有可用的內建預設。
此建構子可以通過兩種方式之一調用。可以從特定任務的基礎類別(如 keras_hub.models.CausalLM.from_preset()
)調用,也可以從模型類別(如 keras_hub.models.BertTextClassifier.from_preset()
)調用。如果從基礎類別調用,則返回物件的子類別將從預設目錄中的配置中推斷出來。
引數
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 開發。 |
compile
方法ImageToImage.compile(optimizer="auto", loss="auto", metrics="auto", **kwargs)
配置 ImageToImage
任務以進行訓練。
ImageToImage
任務使用 optimizer
、loss
和 metrics
的預設值擴展了 keras.Model.compile
的預設編譯簽名。要覆蓋這些預設值,請在編譯期間將任何值傳遞給這些引數。
引數
"auto"
、optimizer 名稱或 keras.Optimizer
實例。預設為 "auto"
,它使用給定模型和任務的預設 optimizer。有關可能的 optimizer
值,請參閱 keras.Model.compile
和 keras.optimizers
。"auto"
、loss 名稱或 keras.losses.Loss
實例。預設為 "auto"
,其中將應用 keras.losses.MeanSquaredError
loss。有關可能的 loss
值,請參閱 keras.Model.compile
和 keras.losses
。"auto"
,或在訓練和測試期間由模型評估的 metrics 列表。預設為 "auto"
,其中將應用 keras.metrics.MeanSquaredError
來追蹤模型在訓練期間的 loss。有關可能的 metrics
值,請參閱 keras.Model.compile
和 keras.metrics
。keras.Model.compile
。save_to_preset
方法ImageToImage.save_to_preset(preset_dir)
將任務儲存到預設目錄。
引數
preprocessor
屬性keras_hub.models.ImageToImage.preprocessor
用於預處理輸入的 keras_hub.models.Preprocessor
層。
backbone
屬性keras_hub.models.ImageToImage.backbone
具有核心架構的 keras_hub.models.Backbone
模型。
generate
方法ImageToImage.generate(inputs, num_steps, strength, guidance_scale=None, seed=None)
根據提供的 inputs
生成圖像。
通常,inputs
是一個包含 "images"
和 "prompts"
鍵的字典。"images"
是值範圍在 [-1.0, 1.0]
內的參考圖像,將調整大小為 self.backbone.height
和 self.backbone.width
,然後由 VAE 編碼器編碼到潛在空間。"prompts"
是將被分詞並由文本編碼器編碼的字串。
某些模型支援 "negative_prompts"
鍵,這有助於引導模型遠離生成某些風格和元素。要啟用此功能,請將 "negative_prompts"
添加到輸入字典中。
如果 inputs
是 tf.data.Dataset
,則輸出將「逐批次」生成並串聯。否則,所有輸入將作為批次處理。
引數
tf.data.Dataset
。格式必須是以下之一"images"
、"prompts"
和/或 "negative_prompts"
鍵的字典。"images"
、"prompts"
和/或 "negative_prompts"
鍵的 tf.data.Dataset
。images
被轉換的程度。必須介於 0.0
和 1.0
之間。當 strength=1.0
時,images
基本上被忽略,添加的噪聲最大,並且去噪過程將運行完整迭代次數,該次數在 num_steps
中指定。