RandAugment
類別keras_cv.layers.RandAugment(
value_range,
augmentations_per_image=3,
magnitude=0.5,
magnitude_stddev=0.15,
rate=0.9090909090909091,
geometric=True,
seed=None,
**kwargs
)
RandAugment 對輸入影像執行隨機增強操作。
此層可以被視為一個多合一的影像增強層。此層所執行的策略已經過廣泛的基準測試,並且在各種資料集上都非常有效。
此策略的運作方式如下:
對於 [0, augmentations_per_image]
範圍內的每次增強,此策略會從操作列表中選擇一個隨機操作。然後,它會取樣一個隨機數,如果該數字小於 rate
,則將其應用於給定的影像。
參考
參數
[0, 1]
或 [0, 255]
,具體取決於預處理管線的設置方式。3
。[0, 1]
之間的浮點數。Magnitude 為 0
表示增強程度盡可能小(不推薦),而值為 1.0
則表示使用最強的增強。在取樣後,所有 magnitude 都會被裁剪到 [0, 1]
的範圍內。默認為 0.5
。[0, 1]
的範圍內。默認為 0.15
。[0, 1]
之間。如要重現原始 RandAugment 論文的結果,請將此值設為 10/11
。原始 RandAugment
論文包含 Identity 轉換。在本實作中,將比率設為 10/11 的行為與在 10/11 的時間內取樣 Identity 擴增相同。預設值為 1.0
。範例
(x_test, y_test), _ = keras.datasets.cifar10.load_data()
rand_augment = keras_cv.layers.RandAugment(
value_range=(0, 255), augmentations_per_image=3, magnitude=0.5
)
x_test = rand_augment(x_test)