tf.compat.v1.feature_column.embedding_column
的 TPU 版本。
用法
tf.compat.v1.tpu.experimental.embedding_column(
categorical_column, dimension, combiner='mean', initializer=None,
max_sequence_length=0, learning_rate_fn=None, embedding_lookup_device=None,
tensor_core_shape=None, use_safe_embedding_lookup=True
)
參數
-
categorical_column
從categorical_column_with_identity
,weighted_categorical_column
,categorical_column_with_vocabulary_file
,categorical_column_with_vocabulary_list
,sequence_categorical_column_with_identity
,sequence_categorical_column_with_vocabulary_file
,sequence_categorical_column_with_vocabulary_list
返回的分類列 -
dimension
指定嵌入維度的整數,必須 > 0。 -
combiner
一個字符串,指定在非序列列的單行中有多個條目時如何減少。有關詳細信息,請參閱tf.feature_column.embedding_column
。 -
initializer
用於嵌入變量初始化的變量初始化函數。如果未指定,則默認為tf.compat.v1.truncated_normal_initializer
,平均值為0.0
和標準差1/sqrt(dimension)
。 -
max_sequence_length
指定最大序列長度的非負整數。任何比這更短的序列都將被填充 0 個嵌入,任何更長的序列都將被截斷。這對於序列特征必須為正,對於非序列特征必須為 0。 -
learning_rate_fn
一個函數,它采用全局步驟並返回嵌入表的學習率。如果您打算對多個嵌入表使用相同的學習率,請確保您將完全相同的 python 函數傳遞給embedding_column的所有調用,否則性能可能會受到影響。 -
embedding_lookup_device
運行嵌入查找的設備。有效選項為 "cpu"、"tpu_tensor_core" 和 "tpu_embedding_core"。如果指定 "tpu_tensor_core",則必須提供 tensor_core_shape。如果未指定,默認行為是在 "tpu_embedding_core" 上嵌入查找以進行訓練,在 "cpu" 上嵌入查找以進行推理。訓練的有效選項:["tpu_embedding_core", "tpu_tensor_core"] 服務的有效選項:["cpu", "tpu_tensor_core"] 對於訓練,tpu_embedding_core 適用於大型嵌入詞匯(>1M),否則,tpu_tensor_core通常就足夠了。對於服務,在服務期間對 tpu_tensor_core 進行嵌入查找是一種在出現瓶頸的情況下減少主機 CPU 使用率的方法。 -
tensor_core_shape
如果提供,一個整數列表,它指定預期的密集形狀以在 TensorCore 上運行嵌入查找此函數。批處理維度可以保留為 None 或 -1 以指示動態形狀。當前僅支持 2 級形狀。 -
use_safe_embedding_lookup
如果為真,則使用 safe_embedding_lookup_sparse 而不是 embedding_lookup_sparse。 safe_embedding_lookup_sparse 確保沒有空行,並且所有權重和 id 都是正數,但代價是額外的計算成本。這僅適用於 rank 2 (NxM) 形狀的輸入張量。默認為 true,如果不需要上述檢查,請考慮關閉。請注意,盡管輸出結果可能為 0 或省略,但具有空行不會觸發任何錯誤。
返回
-
一個
_TPUEmbeddingColumnV2
。
拋出
-
ValueError
如果dimension
不 > 0。 -
ValueError
如果指定了initializer
但不可調用。
請注意,tf.tpu.experimental.embedding_column
的接口與 tf.compat.v1.feature_column.embedding_column
的接口不同:不支持以下參數:ckpt_to_load_from
, tensor_name_in_ckpt
, max_norm
和 trainable
。
如果您想使用 TPU 通過 TPU 嵌入來加速嵌入查找,請使用此函數代替 tf.compat.v1.feature_column.embedding_column
。
column = tf.feature_column.categorical_column_with_identity(...)
tpu_column = tf.tpu.experimental.embedding_column(column, 10)
...
def model_fn(features):
dense_feature = tf.keras.layers.DenseFeature(tpu_column)
embedded_feature = dense_feature(features)
...
estimator = tf.estimator.tpu.TPUEstimator(
model_fn=model_fn,
...
embedding_config_spec=tf.estimator.tpu.experimental.EmbeddingConfigSpec(
column=[tpu_column],
...))
相關用法
- Python tf.compat.v1.tpu.experimental.AdamParameters用法及代碼示例
- Python tf.compat.v1.tpu.experimental.FtrlParameters用法及代碼示例
- Python tf.compat.v1.tpu.experimental.shared_embedding_columns用法及代碼示例
- Python tf.compat.v1.tpu.experimental.StochasticGradientDescentParameters用法及代碼示例
- Python tf.compat.v1.tpu.experimental.AdagradParameters用法及代碼示例
- Python tf.compat.v1.tpu.bfloat16_scope用法及代碼示例
- Python tf.compat.v1.tpu.rewrite用法及代碼示例
- Python tf.compat.v1.tpu.shutdown_system用法及代碼示例
- Python tf.compat.v1.tpu.outside_compilation用法及代碼示例
- Python tf.compat.v1.tpu.shard用法及代碼示例
- Python tf.compat.v1.tpu.replicate用法及代碼示例
- Python tf.compat.v1.tpu.batch_parallel用法及代碼示例
- Python tf.compat.v1.train.FtrlOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.get_or_create_global_step用法及代碼示例
- Python tf.compat.v1.train.cosine_decay_restarts用法及代碼示例
- Python tf.compat.v1.train.Optimizer用法及代碼示例
- Python tf.compat.v1.truncated_normal_initializer.from_config用法及代碼示例
- Python tf.compat.v1.train.AdagradOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.init_from_checkpoint用法及代碼示例
- Python tf.compat.v1.truncated_normal_initializer用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.tpu.experimental.embedding_column。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。