Я хочу запустить tf.estimator.Estimator
с model_fn
, который при вызове в tf.estimator.ModeKeys.EVAL
возвращает не только потерю, но и словарь с прогнозируемым тензором и тензором меток (по правде говоря).Я экспериментирую с регрессией изображения, чтобы у меня был визуальный вкус качества ввода / прогнозирования.
Если бы я запускал код внутри моего model_fn
:
predictions = {
"predictions": td.last() # return the last tensor (prediction)
}
if mode == tf.estimator.ModeKeys.PREDICT:
# wrap predictions into a class and return EstimatorSpec object
return tf.estimator.EstimatorSpec(mode=mode, predictions=predictions)
# minimize on cross-entropy
loss = tf.losses.mean_squared_error(labels=labels, predictions=td.last()) # loss is a scalar tensor
if mode == tf.estimator.ModeKeys.EVAL:
predictions['truth'] = tf.convert_to_tensor(labels, dtype=tf.float32)
# wrap predictions into a class and return EstimatorSpec object
return tf.estimator.EstimatorSpec(mode=mode, predictions=predictions, loss=loss)
TensorFlow мог быигнорировать параметр предсказаний в возвращенном EstimatorSpec при выполнении оценки.При работе по прогнозированию метки недоступны.
Знаете ли вы, есть ли способ сделать это?
Спасибо!