使用 TPU 嵌入的 Adagrad 優化參數。
用法
tf.tpu.experimental.embedding.Adagrad(
learning_rate:Union[float, Callable[[], float]] = 0.001,
initial_accumulator_value:float = 0.1,
use_gradient_accumulation:bool = True,
clip_weight_min:Optional[float] = None,
clip_weight_max:Optional[float] = None,
weight_decay_factor:Optional[float] = None,
multiply_weight_decay_factor_by_learning_rate:bool = None,
slot_variable_creation_fn:Optional[SlotVarCreationFnType] = None,
clipvalue:Optional[ClipValueType] = None
)
參數
-
learning_rate
學習率。它應該是一個浮點值或一個不帶參數的可調用動態學習率。 -
initial_accumulator_value
Adagrad 的初始累加器。 -
use_gradient_accumulation
將此設置為False
會使嵌入梯度計算的準確性降低但速度更快。 -
clip_weight_min
要裁剪的最小值;無意味著-無窮大。 -
clip_weight_max
要裁剪的最大值;無意味著+無窮大。 -
weight_decay_factor
要應用的重量衰減量; None 表示權重沒有衰減。 -
multiply_weight_decay_factor_by_learning_rate
如果為真,weight_decay_factor
將乘以當前學習率。 -
slot_variable_creation_fn
如果您希望直接控製槽變量的創建,請將其設置為一個可調用的,帶有三個參數:一個表變量、一個為其創建的槽名稱列表和一個初始化器列表。此函數應返回一個 dict,其中插槽名稱作為鍵,創建的變量作為值,其類型與表變量匹配。當設置為無(默認值)時,使用內置變量創建。 -
clipvalue
控製漸變的剪裁。設置為單個正標量值以獲取剪裁或標量值元組 (min, max) 以設置單獨的最大值或最小值。如果兩個條目之一為無,則不會裁剪該方向。
通過 optimizer
參數將此傳遞給 tf.tpu.experimental.embedding.TPUEmbedding
以設置全局優化器及其參數:
embedding = tf.tpu.experimental.embedding.TPUEmbedding(
...
optimizer=tf.tpu.experimental.embedding.Adagrad(0.1))
這也可以在tf.tpu.experimental.embedding.TableConfig
中用作優化器參數來設置特定於表的優化器。這將覆蓋上麵定義的全局嵌入優化器的優化器和參數:
table_one = tf.tpu.experimental.embedding.TableConfig(
vocabulary_size=...,
dim=...,
optimizer=tf.tpu.experimental.embedding.Adagrad(0.2))
table_two = tf.tpu.experimental.embedding.TableConfig(
vocabulary_size=...,
dim=...)
feature_config = (
tf.tpu.experimental.embedding.FeatureConfig(
table=table_one),
tf.tpu.experimental.embedding.FeatureConfig(
table=table_two))
embedding = tf.tpu.experimental.embedding.TPUEmbedding(
feature_config=feature_config,
batch_size=...
optimizer=tf.tpu.experimental.embedding.Adagrad(0.1))
在上麵的示例中,將在學習率為 0.2 的表中查找第一個特征,而將在學習率為 0.1 的表中查找第二個特征。
有關這些參數及其對優化器算法的影響的完整說明,請參閱“tensorflow/core/protobuf/tpu/optimization_parameters.proto”。
相關用法
- Python tf.tpu.experimental.embedding.Adam用法及代碼示例
- Python tf.tpu.experimental.embedding.FeatureConfig用法及代碼示例
- Python tf.tpu.experimental.embedding.FTRL用法及代碼示例
- Python tf.tpu.experimental.embedding.TPUEmbedding.apply_gradients用法及代碼示例
- Python tf.tpu.experimental.embedding.TPUEmbedding用法及代碼示例
- Python tf.tpu.experimental.embedding.TPUEmbedding.dequeue用法及代碼示例
- Python tf.tpu.experimental.embedding.SGD用法及代碼示例
- Python tf.tpu.experimental.embedding.TableConfig用法及代碼示例
- Python tf.tpu.experimental.embedding.serving_embedding_lookup用法及代碼示例
- Python tf.tpu.experimental.embedding.TPUEmbedding.enqueue用法及代碼示例
- Python tf.tpu.experimental.DeviceAssignment用法及代碼示例
- Python tf.types.experimental.GenericFunction.get_concrete_function用法及代碼示例
- Python tf.train.Coordinator.stop_on_exception用法及代碼示例
- Python tf.train.ExponentialMovingAverage用法及代碼示例
- Python tf.train.Checkpoint.restore用法及代碼示例
- Python tf.test.is_built_with_rocm用法及代碼示例
- Python tf.train.Checkpoint.read用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.tpu.experimental.embedding.Adagrad。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。