Не удалось загрузить контрольную точку модели для продолжения обучения, конструктор Unsuccessful TensorSliceReader: не удалось найти подходящие файлы - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь загрузить модель, чтобы продолжить обучение, но я получаю сообщение об ошибке

NotFoundError: Неудачный конструктор TensorSliceReader: Не удалось найти подходящие файлы для ./drive/My Drive / DLSRL / Model /

[[Узел: save / RestoreV2_81 = RestoreV2 [dtypes = [DT_FLOAT], _device = "/ job: localhost / replica: 0 / task: 0 / cpu: 0"] (_ arg_save / Const_0_0, save / RestoreV2_81 / KZTor_names) , сохранить / восстановить V2_81 / shape_and_slices)]]

[[Узел: save / RestoreV2_3 / _189 = _Recvclient_terminated = false, recv_device = "/ job: localhost / replica: 0 / task: 0 / gpu: 0", send_device = "/ job: localhost / replica: 0 / task: 0 / cpu: 0 ", send_device_incarnation = 1, тензор_имя =" edge_396_save / RestoreV2_3 ", тензор_типа = DT_FLOAT, _device =" / job: localhost / реплика: 0 / task: 0 / gpu: 0 "]]

Вызывается операцией 'save / RestoreV2_81', определенной в: Файл "/usr/lib/python3.6/runpy.py", строка 193, в _run_module_as_main " main ", mod_spec)

структура моей папки модель содержит контрольную точку, 03-27-09-15_epoch_29.ckpt.data-00000-of-00001,03-27-09-15_epoch_29.ckpt.index, 03-27-09-15_epoch_29.ckpt.meta

Вот код

saver = tf.train.import_meta_graph('./drive/My Drive/DLSRL/Model/03-27-09-15_epoch_39.ckpt.meta')
    g = tf.get_default_graph()
    with g.as_default():


      model = Model(config, embeddings, label_dict.size(), g)
      sess = tf.Session(graph=g, config=tf.ConfigProto(allow_soft_placement=True,
                                                       log_device_placement=False))
      saver.restore(sess,'./drive/My Drive/DLSRL/Model/')
      #sess.run(tf.global_variables_initializer())
      ckpt_saver = tf.train.Saver(max_to_keep=config.max_epochs)
      for epoch in range(39,config.max_epochs):
          # save chckpoint from which to load model
          path = runs_dir / "{}_epoch_{}.ckpt".format(time_of_init, epoch)
          ckpt_saver.save(sess, str(path))
          print('Saved checkpoint.')
          evaluate(dev_data, model, sess, epoch, global_step)
          x1, x2, y = shuffle_stack_pad(train_data, config.train_batch_size)
          epoch_start = time.time()
          for x1_b, x2_b, y_b in get_batches(x1, x2, y, config.train_batch_size):
              feed_dict = make_feed_dict(x1_b, x2_b, y_b, model, config.keep_prob)
              if epoch_step % LOSS_INTERVAL == 0:
                  # tensorboard
                  run_options = tf.RunOptions(trace_level=tf.RunOptions.NO_TRACE)
                  scalar_summaries = sess.run(model.scalar_summaries,
                                     feed_dict=feed_dict,
                                     options=run_options)
                  model.train_writer.add_summary(scalar_summaries, global_step)
                  # print info
                  print("step {:>6} epoch {:>3}: loss={:1.3f}, epoch sec={:3.0f}, total hrs={:.1f}".format(
                      epoch_step,
                      epoch,
                      epoch_loss_sum / max(epoch_step, 1),
                      (time.time() - epoch_start),
                      (time.time() - global_start) / 3600))
              loss, _ = sess.run([model.nonzero_mean_loss, model.update], feed_dict=feed_dict)

              epoch_loss_sum+= loss
              epoch_step += 1
              global_step += 1
          epoch_step = 0
          epoch_loss_sum = 0.0

Можете ли вы предложить исправления?

1 Ответ

1 голос
/ 31 марта 2019

Вы не указали контрольную точку для восстановления.Изменить на:

saver.restore(sess, tf.train.latest_checkpoint('./drive/My Drive/DLSRL/Model/'))
...