что назвать заполнители для подачи? - PullRequest
0 голосов
/ 18 июня 2019

после восстановления моей модели я не могу кормить заполнители из-за проблемы с именами

поэтому у меня есть две функции для сохранения и восстановления моей модели:

def save_model(sess,x,y_labels,accuracy,keep_prob,step,saved_model_file):
    inputs_model={"x_placeholder":x,"y_labels_placeholder":y_labels,"keep_prob_placeholder":keep_prob}
    output_model={"accuracy_placeholder":accuracy,"Adam_opt":step}
    builder = tf.saved_model.builder.SavedModelBuilder(saved_model_file)
    builder.add_meta_graph_and_variables(sess, ["myTag"], signature_def_map= {"myModel": tf.saved_model.signature_def_utils.predict_signature_def(inputs_model,output_model)})
    builder.save()
def restore_model(save_model_path,graph,sess):

    print("Restoring saved model...")
    tf.saved_model.loader.load(sess,["myTag"],save_model_path)
    y_labels=graph.get_tensor_by_name("y_labels_placeholder:0")
    x=graph.get_tensor_by_name("x_placeholder:0")
    keep_prob=graph.get_tensor_by_name("keep_prob_placeholder:0")
    accuracy=graph.get_tensor_by_name("accuracy_placeholder:0")
    step=graph.get_operation_by_name("Adam_opt")
    return (x,y_labels,keep_prob,step,accuracy)

функции работают нормально, и я могу восстановить тензоры и операции, вызвав функцию восстановления:

(x,y_labels,keep_prob,step,accuracy)=restore_model(save_model_path,graph1,sess)

однако в первый раз обучения и перед сохранением какой-либо модели или перезагрузкой какой-либо модели я выполнял следующую строчку кода:

sess.run(step,feed_dict={x: mbatch_x,y_labels: mbatch_y,keep_prob: 0.5})

и он работал нормально (инициализировались заполнители, которые были загружены)

но после того, как я восстановил свою модель, последняя строка кода не работала должным образом, Возникла проблема, связанная с отсутствием фида-заполнителя

сообщение об ошибке

InvalidArgumentError (см. Выше для отслеживания): вы должны передать значение для тензора заполнителя 'keep_prob_placeholder_1' с помощью dtype float [[node keep_prob_placeholder_1 (определено в E: /nn/NN_1.py: 60)]]

Я понимаю, что это связано с именами заполнителей, но я не знаю точный синтаксис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...