跟蹤 TPU 嵌入規範的類。
用法
tf.compat.v1.estimator.tpu.experimental.EmbeddingConfigSpec(
feature_columns=None, optimization_parameters=None, clipping_limit=None,
pipeline_execution_with_tensor_core=False,
experimental_gradient_multiplier_fn=None, feature_to_config_dict=None,
table_to_config_dict=None, partition_strategy='div',
profile_data_directory=None
)
參數
-
feature_columns
模型使用的所有嵌入FeatureColumn
。 -
optimization_parameters
AdagradParameters
,AdamParameters
或StochasticGradientDescentParameters
的實例。此優化器將應用於feature_columns
指定的所有嵌入變量。 -
clipping_limit
(可選)裁剪限製(絕對值)。 -
pipeline_execution_with_tensor_core
將此設置為True
可以加快訓練速度,但如果步驟 N 和步驟 N+1 涉及相同的嵌入 ID 集,則訓練模型會有所不同。詳情請參閱tpu_embedding_configuration.proto
。 -
experimental_gradient_multiplier_fn
(可選)將全局步長作為輸入的 Fn 返回所有嵌入梯度的當前乘數。 -
feature_to_config_dict
將函數名稱映射到類FeatureConfig
的實例的字典。必須指定features_columns 或一對feature_to_config_dict
和table_to_config_dict
。 -
table_to_config_dict
將函數名稱映射到類TableConfig
的實例的字典。必須指定features_columns 或一對feature_to_config_dict
和table_to_config_dict
。 -
partition_strategy
一個字符串,確定張量如何分片到 tpu 主機。有關詳細信息,請參閱tf.nn.safe_embedding_lookup_sparse
。允許的值為"div"
和"mod"'. If
"mod"is used, evaluation and exporting the model to CPU will not work as expected. </td> </tr><tr> <td>
profile_data_directory` 存儲嵌入查找統計信息的目錄。這些統計數據匯總了有關嵌入查找操作的輸入的信息,特別是每個示例的平均嵌入 ID 數量以及嵌入 ID 在整個係統中的負載平衡情況。查找統計信息在 TPU 初始化期間用於嵌入表分區。查找統計信息的收集是在運行時通過分析嵌入輸入來完成的,隻有一小部分輸入樣本被分析以最小化主機 CPU 開銷。一旦對合適數量的樣本進行了分析,查找統計信息通常會在 TPU 訓練循環結束時保存到配置文件數據目錄中的 table-specific 文件中。每個表對應的文件名是通過散列表特定參數(例如,表名和特征數量)和全局配置參數(例如,分片策略和任務計數)獲得的。可以在多個模型之間共享相同的配置文件數據目錄,以重用嵌入查找統計信息。
拋出
-
ValueError
如果未指定 feature_columns。 -
TypeError
如果特征列的類型不正確(_SUPPORTED_FEATURE_COLUMNS、_TPU_EMBEDDING_COLUMN_CLASSES 或 _EMBEDDING_COLUMN_CLASSES 之一)。 -
ValueError
如果optimization_parameters
不是必需的類型之一。
屬性
-
feature_columns
字段編號 0 的namedtuple
別名 -
tensor_core_feature_columns
字段編號 1 的namedtuple
別名 -
optimization_parameters
字段編號 2 的namedtuple
別名 -
clipping_limit
字段編號 3 的namedtuple
別名 -
pipeline_execution_with_tensor_core
字段編號 4 的namedtuple
別名 -
experimental_gradient_multiplier_fn
字段編號 5 的namedtuple
別名 -
feature_to_config_dict
字段編號 6 的namedtuple
別名 -
table_to_config_dict
字段編號 7 的namedtuple
別名 -
partition_strategy
字段編號 8 的namedtuple
別名 -
profile_data_directory
字段編號 9 的namedtuple
別名
遷移到 TF2
警告:這個 API 是為 TensorFlow v1 設計的。繼續閱讀有關如何從該 API 遷移到本機 TensorFlow v2 等效項的詳細信息。見TensorFlow v1 到 TensorFlow v2 遷移指南有關如何遷移其餘代碼的說明。
TPU Estimator 管理自己的 TensorFlow 圖和會話,因此與 TF2 行為不兼容。我們建議您遷移到較新的 tf.distribute.TPUStrategy
。有關詳細信息,請參閱 TPU 指南。
通過embedding_config_spec
參數將此類傳遞給tf.estimator.tpu.TPUEstimator
。至少您需要指定 feature_columns
和 optimization_parameters
。傳遞的特征列應使用 tf.tpu.experimental.embedding_column
和 tf.tpu.experimental.shared_embedding_columns
的某種組合創建。
TPU 嵌入不支持任意 Tensorflow 優化器,並且您用於模型的主要優化器對於嵌入表變量將被忽略。相反,TPU 嵌入支持一組固定的預定義優化器,您可以從中選擇和設置參數。這些包括 adagrad、adam 和隨機梯度下降。每個受支持的優化器在 tf.tpu.experimental
命名空間中都有一個 Parameters
類。
column_a = tf.feature_column.categorical_column_with_identity(...)
column_b = tf.feature_column.categorical_column_with_identity(...)
column_c = tf.feature_column.categorical_column_with_identity(...)
tpu_shared_columns = tf.tpu.experimental.shared_embedding_columns(
[column_a, column_b], 10)
tpu_non_shared_column = tf.tpu.experimental.embedding_column(
column_c, 10)
tpu_columns = [tpu_non_shared_column] + tpu_shared_columns
...
def model_fn(features):
dense_features = tf.keras.layers.DenseFeature(tpu_columns)
embedded_feature = dense_features(features)
...
estimator = tf.estimator.tpu.TPUEstimator(
model_fn=model_fn,
...
embedding_config_spec=tf.estimator.tpu.experimental.EmbeddingConfigSpec(
column=tpu_columns,
optimization_parameters=(
tf.estimator.tpu.experimental.AdagradParameters(0.1))))
相關用法
- Python tf.compat.v1.estimator.tpu.RunConfig用法及代碼示例
- Python tf.compat.v1.estimator.tpu.TPUEstimator用法及代碼示例
- Python tf.compat.v1.estimator.DNNEstimator用法及代碼示例
- Python tf.compat.v1.estimator.experimental.KMeans用法及代碼示例
- Python tf.compat.v1.estimator.regressor_parse_example_spec用法及代碼示例
- Python tf.compat.v1.estimator.BaselineRegressor用法及代碼示例
- Python tf.compat.v1.estimator.inputs.numpy_input_fn用法及代碼示例
- Python tf.compat.v1.estimator.LinearRegressor用法及代碼示例
- Python tf.compat.v1.estimator.BaselineEstimator用法及代碼示例
- Python tf.compat.v1.estimator.BaselineClassifier用法及代碼示例
- Python tf.compat.v1.estimator.LinearClassifier用法及代碼示例
- Python tf.compat.v1.estimator.DNNLinearCombinedRegressor用法及代碼示例
- Python tf.compat.v1.estimator.DNNClassifier用法及代碼示例
- Python tf.compat.v1.estimator.DNNRegressor用法及代碼示例
- Python tf.compat.v1.estimator.DNNLinearCombinedEstimator用法及代碼示例
- Python tf.compat.v1.estimator.Estimator用法及代碼示例
- Python tf.compat.v1.estimator.LinearEstimator用法及代碼示例
- Python tf.compat.v1.estimator.classifier_parse_example_spec用法及代碼示例
- Python tf.compat.v1.estimator.DNNLinearCombinedClassifier用法及代碼示例
- Python tf.compat.v1.enable_eager_execution用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.estimator.tpu.experimental.EmbeddingConfigSpec。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。