當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.keras.layers.RandomZoom用法及代碼示例


在訓練期間隨機縮放圖像的預處理層。

繼承自:LayerModule

用法

tf.keras.layers.RandomZoom(
    height_factor, width_factor=None, fill_mode='reflect',
    interpolation='bilinear', seed=None, fill_value=0.0, **kwargs
)

參數

  • height_factor 表示為值的分數的浮點數,或大小為 2 的元組,表示垂直縮放的下限和上限。當表示為單個浮點數時,此值用於上限和下限。正值表示縮小,而負值表示放大。例如,height_factor=(0.2, 0.3) 導致輸出在 [+20%, +30%] 範圍內隨機縮小。 height_factor=(-0.3, -0.2) 導致輸出在 [+20%, +30%] 範圍內隨機放大。
  • width_factor 表示為值的分數的浮點數,或大小為 2 的元組,表示水平縮放的下限和上限。當表示為單個浮點數時,此值用於上限和下限。例如,width_factor=(0.2, 0.3) 導致輸出縮小 20% 到 30%。 width_factor=(-0.3, -0.2) 導致輸出放大 20% 到 30%。默認為 None ,即通過保持縱橫比縮放垂直和水平方向。
  • fill_mode 輸入邊界之外的點根據給定的模式填充(其中之一{"constant", "reflect", "wrap", "nearest"})。
    • 反映(d c b a | a b c d | d c b a)通過反射最後一個像素的邊來擴展輸入。
    • 常量(k k k k | a b c d | k k k k)通過用相同的常數 k = 0 填充邊以外的所有值來擴展輸入。
    • 包裹(a b c d | a b c d | a b c d)通過環繞到相對邊來擴展輸入。
    • 最近的(a a a a | a b c d | d d d d)輸入由最近的像素擴展。
  • interpolation 插值模式。支持的值:"nearest" , "bilinear"
  • seed 整數。用於創建隨機種子。
  • fill_value 浮點數表示 fill_mode="constant" 時要在邊界外填充的值。

該層將在圖像的每個軸上獨立地隨機放大或縮小,根據 fill_mode 填充空白空間。

輸入像素值可以是任何範圍(例如 [0., 1.)[0, 255] ),並且可以是整數或浮點數據類型。默認情況下,圖層將輸出浮點數。

有關預處理層的概述和完整列表,請參閱預處理指南。

例子:

input_img = np.random.random((32, 224, 224, 3))
layer = tf.keras.layers.RandomZoom(.5, .2)
out_img = layer(input_img)
out_img.shape
TensorShape([32, 224, 224, 3])

輸入形狀:

3D(未批處理)或 4D(批處理)張量,形狀為:(..., height, width, channels),格式為 "channels_last"

輸出形狀:

3D(未批處理)或 4D(批處理)張量,形狀為:(..., height, width, channels),格式為 "channels_last"

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.layers.RandomZoom。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。