У меня есть функция cnn-bn-relu, которая выполняет серию сверток-пакетной нормализации-Relu и возвращает вывод.с помощью обученной модели, полученной из вышеупомянутой функции, я пытаюсь протестировать модель не только с тестовыми изображениями, но и с ее расширенными копиями
шаг 1. Ввод исходного изображения в функцию cnn-bn-relu
test_reconstructed_image_1_output=cnn-bn-relu(test_image_1,weights_layer_1,weights_layer_2,weights_layer_3,weights_layer_4)
шаг 2. Затем передаем его расширенную копию функции cnn-bn-relu
test_reconstructed_aug_image_1_output=cnn-bn-relu(test_aug_image_1,weights_layer_1,weights_layer_2,weights_layer_3,weights_layer_4)
После двух вышеупомянутых шагов явосстановил веса обученной модели и попытался получить выходные данные шага 1 и шага 2. Но я получаю следующую ошибку
NotFoundError (см. выше для отслеживания): восстановление из контрольной точки не удалось.Скорее всего, это связано с отсутствием в контрольной точке имени переменной или другого ключа графика.Пожалуйста, убедитесь, что вы не изменили ожидаемый график на основе контрольной точки.Исходная ошибка:
Я обнаружил, что вычисление свертки для расширенной копии изображения вместе с исходным изображением вызывает вышеуказанную ошибку, но я не знаю, как ее решить.
Ниже приведен код, который я использовал.
Step 1:
Reading the images from tensorflow record using dataset api
test_dataset = (tf.data.TFRecordDataset(test_tfrecords_filename_label)
.map(read_and_decode,num_parallel_calls=multiprocessing.cpu_count())
.prefetch(1))
iterator = test_dataset.make_one_shot_iterator()
test_image_1,aug_test_image_1= iterator.get_next()
Step 2:
# Calculating convolution for original image
test_reconstructed_image_1_output=cnn-bn-relu(test_image_1,weights_layer_1,weights_layer_2,weights_layer_3,weights_layer_4)
# Calculating convolution for augmented copy of original image
test_reconstructed_aug_image_1_output=cnn-bn-relu(test_patches_image_1,weights_layer_1,weights_layer_2,weights_layer_3,weights_layer_4)
Step 3:restoring the model and running the tensorflow session
saver1 = tf.train.Saver()
sess1 = tf.Session()
saver1.restore(sess1, "model.ckpt")
for i in range(0,3):
output_1,output_2 = sess1.run( test_reconstructed_image_1_output,test_reconstructed_aug_image_1)
Приведенный выше код выдает ошибку, упомянутую выше.
If i comment the line
test_reconstructed_aug_image_1_output=cnn-bn- relu(test_patches_image_1,weights_layer_1,weights_layer_2,weights_layer_3,weights_layer_4)
and replace
for i in range(0,3):
output_1,output_2 = sess1.run(
test_reconstructed_image_1_output,test_reconstructed_aug_image_1)
with
for i in range(0,3):
output_1= sess1.run( test_reconstructed_image_1_output)
Я не получаю ошибку.
Может кто-нибудь подсказать мне, как я могу изменить код, чтобы получить оба output_1, output_2 без ошибки.