在沒有檢查點的情況下在訓練中運行評估的掛鉤。
繼承自:SessionRunHook
用法
tf.estimator.experimental.InMemoryEvaluatorHook(
estimator, input_fn, steps=None, hooks=None, name=None, every_n_iter=100
)
參數
-
estimator
調用評估的tf.estimator.Estimator
實例。 -
input_fn
相當於input_fn
參數為estimator.evaluate
.構造用於評估的輸入數據的函數。看創建輸入函數了解更多信息。該函數應構造並返回以下內容之一:- 'tf.data.Dataset' 對象:
Dataset
對象的輸出必須是具有與以下相同約束的元組(特征、標簽)。 - 元組(特征,標簽):其中
features
是Tensor
或字符串特征名稱字典Tensor
和labels
是Tensor
或字符串標簽名稱字典Tensor
。features
和labels
都被model_fn
消耗。它們應該滿足輸入對model_fn
的期望。
- 'tf.data.Dataset' 對象:
-
steps
等效於steps
arg 到estimator.evaluate
。評估模型的步驟數。如果None
,評估直到input_fn
引發 end-of-input 異常。 -
hooks
等效於hooks
arg 到estimator.evaluate
。SessionRunHook
子類實例列表。用於評估調用中的回調。 -
name
等效於name
arg 到estimator.evaluate
。如果用戶需要對不同的數據集(例如訓練數據與測試數據)運行多個評估,則評估的名稱。不同評估的指標保存在單獨的文件夾中,並單獨顯示在 tensorboard 中。 -
every_n_iter
int
,每 N 次訓練迭代運行一次評估器。
拋出
-
ValueError
如果every_n_iter
是非正數或者不是單機訓練
例子:
def train_input_fn():
...
return train_dataset
def eval_input_fn():
...
return eval_dataset
estimator = tf.estimator.DNNClassifier(...)
evaluator = tf.estimator.experimental.InMemoryEvaluatorHook(
estimator, eval_input_fn)
estimator.train(train_input_fn, hooks=[evaluator])
這種方法的當前局限性是:
- 它不支持multi-node 分布式模式。
- 它不支持變量以外的可保存對象(例如增強樹支持)
- 它不支持自定義保護程序邏輯(例如 ExponentialMovingAverage 支持)
相關用法
- Python tf.estimator.experimental.stop_if_lower_hook用法及代碼示例
- Python tf.estimator.experimental.stop_if_no_increase_hook用法及代碼示例
- Python tf.estimator.experimental.LinearSDCA用法及代碼示例
- Python tf.estimator.experimental.RNNClassifier用法及代碼示例
- Python tf.estimator.experimental.make_early_stopping_hook用法及代碼示例
- Python tf.estimator.experimental.stop_if_higher_hook用法及代碼示例
- Python tf.estimator.experimental.RNNEstimator用法及代碼示例
- Python tf.estimator.experimental.stop_if_no_decrease_hook用法及代碼示例
- Python tf.estimator.TrainSpec用法及代碼示例
- Python tf.estimator.LogisticRegressionHead用法及代碼示例
- Python tf.estimator.MultiHead用法及代碼示例
- Python tf.estimator.PoissonRegressionHead用法及代碼示例
- Python tf.estimator.WarmStartSettings用法及代碼示例
- Python tf.estimator.RunConfig用法及代碼示例
- Python tf.estimator.MultiLabelHead用法及代碼示例
- Python tf.estimator.BaselineEstimator用法及代碼示例
- Python tf.estimator.DNNLinearCombinedEstimator用法及代碼示例
- Python tf.estimator.Estimator用法及代碼示例
- Python tf.estimator.LinearRegressor用法及代碼示例
- Python tf.estimator.LinearEstimator用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.estimator.experimental.InMemoryEvaluatorHook。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。