Восстановление официальной контрольной точки Tensorflow Resnet-50 выдает ошибку ‘ExperimentalFunctionBufferingResource’

#tensorflow #resnet

#tensorflow #сброс

Вопрос:

При попытке перезагрузить официальные модели tensorflow для контрольной точки 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. В первом случае с файлом что-то не так. Код правильный

Ответ №1:

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

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