Восстановление официальной контрольной точки Tensorflow Resnet-50 выдает ошибку ExperimentalFunctionBufferingResource - PullRequest
2 голосов
/ 29 марта 2019

При попытке перезагрузить официальные модели тензорного потока для контрольной точки ResNet-50 здесь:

http://download.tensorflow.org/models/official/20181001_resnet/checkpoints/resnet_imagenet_v1_fp32_20181001.tar.gz

... используя этот код:

import os
import tensorflow as tf
print(tf.__version__)
saver = tf.train.import_meta_graph(os.path.join(
    'resnet_imagenet_v1_fp32_20181001',
    'model.ckpt-225207.meta'))

Я получаю эту ошибку:

1.13.1
Traceback (most recent call last):
  File "chehckpoint_to_savedmodel.py", line 11, in <module>
    'model.ckpt-225207.meta'))
  File "/Users/*user*/Library/Python/3.7/lib/python/site-packages/tensorflow/python/training/saver.py", line 1435, in import_meta_graph
    meta_graph_or_file, clear_devices, import_scope, **kwargs)[0]
  File "/Users/*user*/Library/Python/3.7/lib/python/site-packages/tensorflow/python/training/saver.py", line 1457, in _import_meta_graph_with_return_elements
    **kwargs))
  File "/Users/*user*/Library/Python/3.7/lib/python/site-packages/tensorflow/python/framework/meta_graph.py", line 806, in import_scoped_meta_graph_with_return_elements
    return_elements=return_elements)
  File "/Users/*user*/Library/Python/3.7/lib/python/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/Users/*user*/Library/Python/3.7/lib/python/site-packages/tensorflow/python/framework/importer.py", line 399, in import_graph_def
    _RemoveDefaultAttrs(op_dict, producer_op_list, graph_def)
  File "/Users/*user*/Library/Python/3.7/lib/python/site-packages/tensorflow/python/framework/importer.py", line 159, in _RemoveDefaultAttrs
    op_def = op_dict[node.op]
KeyError: 'ExperimentalFunctionBufferingResource'

Забавно, что поиск в Google "KeyError: 'ExperimentalFunctionBufferingResource'" возвращает ноль хитов. Это первое.

Идеи

Не уверен, как еще перезагрузить эту модель. Я также попробовал это:

path = os.path.join(
    'resnet_imagenet_v1_fp32_20181001',
    'model.ckpt-225207')

checkpoint = tf.train.Checkpoint()
status = checkpoint.restore(path)
print(status)
status.assert_consumed()

Но утверждение не подтверждается никакой другой информацией.

Спасибо заранее. P

1 Ответ

0 голосов
/ 13 июня 2019

Кажется, это проблема с версиями TF> = 1.13.Попробуйте понизить до 1.12 и попробовать.Это должно работать.

Проблемы для отслеживания могут быть следующими: # 29751

...