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
列表中的元素數量不匹配。