У меня есть обученная модель, которая определяет ориентиры побед в области глаз и использовала метод линейной регрессии, я бы хотела оценить свою модель. У меня есть этот код от landmark.py
. На самом деле этот код взят из проекта Инь Гобин до обновления:
def _eval_input_fn():
"""Function for evaluating."""
return input_fn(
record_file="./validiris.record",
batch_size=2,
num_epochs=1,
shuffle=False)
def main(unused_argv):
"""MAIN"""
# Create the Estimator
estimator = tf.estimator.Estimator(
model_fn=cnn_model_fn, model_dir="./irismodel")
# Choose mode between Train, Evaluate and Predict
mode_dict = {
'train': tf.estimator.ModeKeys.TRAIN,
'eval': tf.estimator.ModeKeys.EVAL,
'predict': tf.estimator.ModeKeys.PREDICT
}
mode = mode_dict['eval']
if mode == tf.estimator.ModeKeys.TRAIN:
estimator.train(input_fn=_train_input_fn, steps=200000)
# Export result as SavedModel.
estimator.export_savedmodel('./saved_model', serving_input_receiver_fn)
elif mode == tf.estimator.ModeKeys.EVAL:
evaluation = estimator.evaluate(input_fn=_eval_input_fn)
print(evaluation)
В обновленной версии проекта (ориентиры на лице CNN) Инь обновил функцию вычисления точности, которая была обновлена в сценарии:
https://github.com/yinguobing/cnn-facial-landmark/blob/master/landmark.py
Я пытался обновить код и изменить только функцию, которая вычисляет точность, но я получил некоторые ошибки из журналов:
Как я могу решить эту ошибку? Как я могу рассчитать точность, используя tf.metrics.root_mean_squard_error
?