Вы можете использовать загруженный график и веса для оценки так же, как вы тренируетесь.Вам просто нужно изменить входные данные из вашего оценочного набора.Вот некоторый псевдокод цикла поезда с циклом оценки каждые 1000
итераций (предполагается, что вы создали tf.Session
с именем sess
):
x = tf.placeholder(...)
loss, train_step = model(x)
for i in range(num_step):
input_x = get_train_data(i)
sess.run(train_step, feed_dict={x: input_x})
if i % 1000 == 0 and i != 0:
eval_loss = 0
for j in range(num_eval):
input_x = get_eval_data(j)
eval_loss += sess.run(loss, feed_dict={x: input_x})
print(eval_loss/num_eval)
Если вы используете tf.data
для вашего ввода вы можете просто создать tf.cond
, чтобы выбрать, какой вход использовать:
is_training = tf.placeholder(tf.bool)
next_element = tf.cond(is_training,
lambda: get_next_train(),
lambda: get_next_eval())
get_next_train
и get_next_eval
должны будут создать все операции, которые используются для чтения набора данных, илииначе могут возникнуть побочные эффекты при запуске вышеуказанного кода.
Таким образом, вам не нужно ничего сохранять на диск, если вы этого не хотите.