PiecewiseConstantDecay
類別keras.optimizers.schedules.PiecewiseConstantDecay(
boundaries, values, name="PiecewiseConstant"
)
一個使用階梯式常數衰減排程的 LearningRateSchedule
。
此函數返回一個單參數可呼叫物件,用於在傳遞目前最佳化器步驟時計算階梯式常數。這對於在不同最佳化器函數調用之間更改學習率值非常有用。
範例
使用在首 100001 步為 1.0 的學習率,接下來的 10000 步為 0.5,以及任何後續步驟為 0.1 的學習率。
step = ops.array(0)
boundaries = [100000, 110000]
values = [1.0, 0.5, 0.1]
learning_rate_fn = keras.optimizers.schedules.PiecewiseConstantDecay(
boundaries, values)
# Later, whenever we perform an optimization step, we pass in the step.
learning_rate = learning_rate_fn(step)
您可以直接將此排程傳遞到 keras.optimizers.Optimizer
中作為學習率。學習率排程也可以使用 keras.optimizers.schedules.serialize
和 keras.optimizers.schedules.deserialize
進行序列化和反序列化。
參數
boundaries
定義的間隔的值。它應該比 boundaries
多一個元素,並且所有元素都應具有相同的類型。"PiecewiseConstant"
。返回值
一個單參數可呼叫學習率排程,它接受目前最佳化器步驟並輸出衰減的學習率,一個與邊界張量類型相同的純量張量。
接受 step
的單參數函數的輸出在 step <= boundaries[0]
時為 values[0]
,在 step > boundaries[0]
且 step <= boundaries[1]
時為 values[1]
,...,以及在 step > boundaries[-1]
時為 values[-1]
。
引發
boundaries
和 values
列表中的元素數量不符。