NotFoundError: при использовании TF возникает ключевая переменная, не найденная в контрольной точке

Я новичок на TF, поэтому я столкнулся с простой проблемой.. Я не могу найти решение моей проблемы в Google..

Я читал и интересовался translate.py в tenorflow, используя Seq2SeqModel.

и я хочу использовать две модели seq2seq (BotEngine, GrammarGenerator) с использованием translate.py, который используется в учебном коде TF, например так.

    with tf.Session() as sess:
    with tf.variable_scope("be_model"):
        model_be = BotEngine.create_model(sess, True)
        print("be model created")
    with tf.variable_scope("gg_model"):
        model_gg = GrammarGenerator.create_model(sess, True)
        print("gg model created")

когда я обучил и протестировал (после прочтения файла контрольных точек) две модели соответственно, ни одной ошибки не произошло. но когда я последовательно читаю файл двух контрольных точек, возникает следующая ошибка...



    (тензор потока) C:\test>python разговор.py --conversation
    2017-10-05 14:43:52.150316: W c:\l\ensorflow_1501907206084\work\tenorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций SSE, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
    2017-10-05 14:43:52.150316: W c:\l\tenorflow_1501907206084 \ work \ensorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций SSE2, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
    2017-10-05 14:43:52.150316: W c:\l\tenorflow_1501907206084 \ work \ensorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций SSE3, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
    2017-10-05 14:43:52.150316: W c:\l\tenorflow_1501907206084 \ work \ensorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций SSE4.1, но они доступны на вашей машине и могут ускорить вычисления ЦП.
    2017-10-05 14:43:52.150316: W c:\l\tenorflow_1501907206084 \ work \ensorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций SSE4.2, но они доступны на вашей машине и могут ускорить вычисления ЦП.
    2017-10-05 14:43:52.150316: W c:\l\tenorflow_1501907206084 \ work \ensorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций AVX, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
    2017-10-05 14:43:52.151316: W c:\l\ensorflow_1501907206084 \ work \ensorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций AVX2, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
    2017-10-05 14:43:52.151316: W c:\l\ensorflow_1501907206084 \ work \ensorflow-1.2.
    1\tenorflow\core\platform\cpu_feature_guard.cc:45] Библиотека TensorFlow не была скомпилирована для использования инструкций FMA, но они доступны на вашем компьютере и могут ускорить вычисления ЦП. Чтение параметров модели из./seq2seq_bemodel\seq2seq.ckpt-6000
    [будет создана модель] Чтение параметров модели из./seq2seq_ggmodel\seq2seq.ckpt-43800
    2017-10-05 14:45:06.332559: W c:\l\ensorflow_1501907206084 \ работа \tensorflow-1,2. 1 \ensorflow\core\framework\op_kernel.cc:1158] Не найдено: ключ be_model/Variable_
    1 ​​не найден в контрольной точке 2017-10-05 14:45:06.333559: W c:\l\tenorflow_1501907206084 \ work \ tenorflow-1.2, 1 \ensorflow\core\framework\op_kernel.cc:1158] Не найдено: Ключ be_model / be_pro_w не найден в контрольной точке 2017-10-05 14:45:06.334559: W c:\l\tenorflow_1501907206084 \ work \ tenorflow-1.2. 1 \ensorflow\core\framework\op_kernel.cc:1158] Не найдено: Ключ be_model / Переменная не найдена в контрольной точке 2017-10-05 14:45:06.337559: W c:\l\tenorflow_1501907206084 \ work \ tenorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder/Attention_0/bia ​​s не найден в контрольной точке 2017-10-05 14:45:06.338559: W c:\ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\ensorflow\core\framework\op_kernel.cc:1158] Не найдено: Ключ be_model/be_proj_b не найден в контрольной точке 2017-10-05 14:45:06.341559: W c:\l\tenorflow_1501907206084 \ work \ tenorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / Attention_0 / номер ядра не найден в контрольной точке 2017-10-05 14:45:06.344559: W c:\ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ Внимание_декодер /AttnOutputProje / контрольная точка / смещение не найдены в контрольной точке 2017-10-05 14:45:06.345559: W c:\ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder/AttnOutputProje
    ction/kernel не найден в контрольной точке 2017-10-05 14:45:06.346559: W c:\ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\ensorflow\core\framework\op_kernel.cc:1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder/AttnV_0 не найден в контрольной точке 2017-10-05 14:45:06.348560: W c:\l\tensorflow_1501907206084\ работа \tensorflow-1,2. 1 \ tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder/AttnW_0 не найден в контрольной точке 2017-10-05 14:45:06.351560: W c:\l\tensorflow_1501907206084\ работа \tensorflow-1,2. 1 \ tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ Внимание_декодер / смещение не найден в контрольной точке 2017-10-05 14:45:06.353560: W c:\l\ensorflow_1501907206084 \ работа \tensorflow-1,2. 1 \ tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / kernel не найден d в контрольной точке 2017-10-05 14:45:06.355560: W c:\l\tensorflow_1501907206084\ работа \tensorflow-1,2. 1 \ tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / multi_rnn_cell / cell_0 / lstm_cell / смещение не найден в контрольной точке 2017-10-05 14:45:06.359560: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / multi_rnn_cell / cell_0 / lstm_cell / ядро ​​не найдено в контрольной точке 2017-10-05 14:45:06.360560: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / multi_rnn_cell / cell_1 / lstm_cell / ядро ​​не найдено в контрольной точке 2017-10-05 14:45:06.362560: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / multi_rnn_cell / cell_1 / lstm_cell / смещение не найден в контрольной точке 2017-10-05 14:45:06.363560: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / multi_rnn_cell / cell_2 / lstm_cell / смещение не найден в контрольной точке 2017-10-05 14:45:06.366561: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/ внимания_decoder / multi_rnn_cell / cell_2 / lstm_cell / ядро ​​не найдено в контрольной точке 2017-10-05 14:45:06.367561: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\ensorflow\core\framework\op_kernel.cc:1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/embedding_attention_decoder/embedding не найден в контрольной точке 2017-10-05 14:45:06.371561: W c:\l\tenorflow_1501907206084\work\tensorflow-1,2. 1 \ensorflow\core\framework\op_kernel.cc:1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/rnn/embedding_wrapper/embedding не найден в контрольной точке 2017-10-05 14:45:06.374561: W c:\l\tenorflow_1501907206084 \ работа \tensorflow-1,2. 1 \ tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/rnn/embedding_wrapper/multi_rnn_cell/cell_0/lstm_cell/bias не найден в контрольной точке 2017-10-05 14:45:06.375561: W c:\l\ensorflow_1501907206084\work\tenorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/rnn/embedding_wrapper/multi_rnn_cell/cell_0/lstm_cell/kernel не найден в контрольной точке 2017-10-05 14:45:06.377561: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/rnn/embedding_wrapper/multi_rnn_cell/cell_1/lstm_cell/bias не найден в контрольной точке 2017-10-05 14:45:06.378561: W c:\l\ensorflow_1501907206084\work\tenorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/rnn/embedding_wrapper/multi_rnn_cell/cell_1/lstm_cell/kernel не найден в контрольной точке 2017-10-05 14:45:06.379561: W C: \ л \tensorflow_1501907206084\ работа \tensorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/rnn/embedding_wrapper/multi_rnn_cell/cell_2/lstm_cell/bias не найден в контрольной точке 2017-10-05 14:45:06.381561: W c:\l\ensorflow_1501907206084\work\tenorflow-1.2.
    1\tenorflow \ core \ framework \ op_kernel.cc: 1158] Не найдено: ключ be_model/embedding
    _attention_seq2seq/rnn/embedding_wrapper/multi_rnn_cell/cell_2/lstm_cell/kernel не найден в контрольной точке Traceback (последний вызов был последним): файл "C:\Users\coco\Anaconda3\envs\tenorflow\lib\site-packages\tenorflow\pyt
    hon\client\session.py", строка 1139, в _do_call
        return fn(*args) Файл" C: \ Users \ coco \ Anaconda3 " \ envs \ tenorsflow \ lib \ site-packages \ensorflow\pyt
    hon\client\session.py", строка 1121, в состоянии _run_fn, run_metadata) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\contextlib ".py ", строка 66, в __exit__ следующий (self.gen) файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\ensorflow\pyt
    hon\framework\errors_impl.py", строка 466, в Повышение_экспонирования_on_not_ok_STATUS "/ работа: локальный / реплика: 0 / задача: 0 / процессор:0"](_arg_gg_model/save/Const_0_0, gg_mode
    l/save/RestoreV2_1/tenor_names, gg_model/save/RestoreV2_1/shape_and_slices)]] Во время обработки вышеуказанного исключения возникло другое исключение: Трассировка (последний вызов был последним): файл "ослов.py ", строка 113, в main() Файл" разговор.пи ", строка 102, в основном разговор () Файл" разговор.py ", строка 55, в диалоге model_gg = GrammarGenerator.create_model(sess, True) Файл "C:\test\GrammarGenerator.py", строка 50, в файле create_model
        model.saver.restore(сеанс,ckpt.model_checkpoint_path) Файл "C:\Users\coco\Anaconda3\envs\tenorflow\lib\site-packages\tenorflow\pyt
    hon\training\saver.py", строка 1548, в restore
        {self.saver_def.filename_tensor_name: save_path}) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ tenorflow " \ lib \ site-packages \ensorflow\pyt
    hon\client\session.py", строка 789, в прогоне run_metadata_ptr) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ tenorflow \ lib \ site-packages \ensorflow \ pyt " hon \ client \ session.py ", строка 997, в _run
        feed_dict_string, options, run_metadata) Файл "C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\ensorflow \ pyt hon \ client \ session.py", строка 1132, в _do_run
        target_list, options, run_metadata) Файл "C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\tenorsflow \ pyt hon \ client \ session.py", строка 1152, в _do_call повышать тип (e)(node_def, op, message)
    tenorflow.python.framework.errors_impl.NotFoundError: Ключ be_model / Variable_1 не найден в контрольной точке [[Node: gg_model/save/RestoreV2_1 = RestoreV2[dtypes=[DT_INT32], _devic
    e="/job:localhost/replica:0/task:0/cpu:0"](_arg_gg_model/save/Const_0_0, gg_mode
    l/save/RestoreV2_1/tennors_names, gg_model / save / RestoreV2_1 / shape_and_slices)]] Вызвано операцией 'gg_model/save', определено в файле:1 "разговор.пи", строка 113, в main() файл "разговор.пи", строка 102, в основном разговор () файл "разговор.py", строка 55, в диалоге model_gg = GrammarGenerator.create_model(sess, True) Файл "C:\test\GrammarGenerator.py", строка 45, в create_model
        dtype=tf.float32) Файл "C:\test\seq2seq_model.py", строка 159, в __init__
        self.saver = tf.train.Saver(tf.global_variables()) Файл "C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\tenorflow\pyt
    hon\training\saver.py", строка 1139, в файле __init__
        self.build()" C: \ Users \ coco \ Anaconda3 \ envs \ tenorflow \ " lib \ site-packages \ensorflow\pyt
    hon\training\saver.py", строка 1170, в сборке restore_sequentially=self._restore_sequentially) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\ " тензорный поток \ pyt hon \ training \ saver.py ", строка 691, в сборке restore_sequential, изменить форму) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\tenorflow \ pyt hon \ training \ saver ".py ", строка 407, в _AddRestoreOps
        tenors = self.restore_op(filename_tensor, сохраняемый, предпочтительный_шард) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\ensorflow \ pyt hon \ training \ saver ".py ", строка 247, в restore_op
        [spec.tensor.dtype])[0]) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ tenor " flow \ lib \ site-packages \ensorflow\pyt
    hon\ops\gen_io_ops.py", строка 640, в restore_v2
        dtypes=dtypes, name=name) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow \ lib \ " site-packages \ensorflow\pyt
    hon\framework\op_def_library.py", строка 767, в apply_op
        op_def=op_def) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\ensorflow \ pyt hon " \framework\ops.py", строка 2506, в create_op
        original_op=self._default_original_op, op_def=op_def) Файл" C: \ Users \ coco \ Anaconda3 \ envs \ensorflow\lib\site-packages\ensorflow \ pyt hon \ framework " \ ops.py ", строка 1269, в __init__
        self._traceback = _extract_stack()

    NotFoundError (см. выше для отслеживания): ключ be_model / Variable_1 не найден в контрольной точке [[Node: gg_model / save / RestoreV2_1 = RestoreV2 [dtypes = [ DT_INT32], _devic e = "/ job: localhost / replica: 0 / task: 0 / cpu: 0"] (_arg_gg_model / save / Const_0_0, gg_mode l / save / RestoreV2_1 / тензор_имей, gg_model / save / RestoreV2_1 / shape_and_s) ] (тензор потока) C:\test>:(

Приведенное выше сообщение об ошибке говорит, что "ключ be_model / Variable_1 не найден в контрольной точке". но я уже использовал inspect_checkpoint.py, чтобы проверить все тензоры, хранящиеся в моих обоих файлах контрольных точек, но нет дублированной области тензоров, и больше всего тензор be_model / Variable_1 существует в моем файле контрольных точек be_model.

    (тензор потока) C:\test\seq2seq_bemodel>python inspect_checkpoint.py --file_name se
    q2seq.ckpt-5800
    be_model/Variable (DT_FLOAT) []
    be_model/Variable_1 (DT_INT32) []
    be_model/be_model/be_pro_w/Adam (DT_FLOAT) [2179,150]
    ... и так далее

на самом деле я также не понял ошибку, возникшую выше, я не использовал тензор Variable_1 в моем коде...

Итак... Кто-нибудь, кто знает, какая проблема возникает на мне, пожалуйста, помогите мне.

1 ответ

Решение

Я решил свой вопрос, это было действительно просто, поэтому я смутился. проблема была в атрибуте saver моего объекта seq2seq. Я вызвал метод с аргументами tf.global_variables(). Я думаю, что был не прав, когда обычно просматривал заставку, это моя вина..

Когда возникает проблема, связанная с областью действия переменных или особенно объекта-заставки, я думаю, что inspect_checkpoint.py выглядит очень полезным.

Спасибо и всего наилучшего.

Другие вопросы по тегам