Каталог концентраторов Tensorflow не найден при кэшировании модулей

У меня установлен tf 1.8 и работает на виртуальном сервере. Я использую обучающий конвейер, который загружает начальную версию v3 из tfhub и повторно обучает softmax (почти идентичный рабочий процесс, как в примере с цветами (https://www.tensorflow.org/tutorials/image_retraining). Хаб Tensorflow также установлен в том же виртуальном окружении.

Это ошибка, которую я получаю.

INFO:tensorflow:Looking for images in 'moonflowers'
INFO:tensorflow:Looking for images in 'sunflowers'
INFO:tensorflow:Using /var/folders/z1/nty40mjd64b1xwvw_l1vhcs40000gn/T/tfhub_modules to cache modules.
Traceback (most recent call last):
  File "/Users/X/example_code/flower_trainer/imb_model.py", line 1355, in <module>
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/Users/X/tensorflow/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 126, in run
    _sys.exit(main(argv))
  File "/Users/X/example_code/flower_trainer/imb_model.py", line 1039, in main
    module_spec = hub.load_module_spec(FLAGS.tfhub_module)
  File "/Users/X/tensorflow/lib/python3.6/site-packages/tensorflow_hub/native_module.py", line 103, in load_module_spec
    module_def_proto.ParseFromString(f.read())
  File "/Users/X/tensorflow/lib/python3.6/site-packages/tensorflow/python/lib/io/file_io.py", line 120, in read
    self._preread_check()
  File "/Users/X/tensorflow/lib/python3.6/site-packages/tensorflow/python/lib/io/file_io.py", line 80, in _preread_check
    compat.as_bytes(self.__name), 1024 * 512, status)
  File "/Users/X/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 519, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.NotFoundError: /var/folders/z1/nty40mjd64b1xwvw_l1vhcs40000gn/T/tfhub_modules/11d9faf945d073033780fd924b2b09ff42155763/tfhub_module.pb; No such file or directory

Кто-нибудь сталкивался с подобной проблемой или у вас есть какие-либо рекомендации о том, как ее решить?


person user901010    schedule 12.06.2018    source источник
comment
Я только что нашел обходной путь. Явная установка папки кэша в качестве переменной среды, похоже, решает проблему. os.environ ['TFHUB_CACHE_DIR'] = некоторый путь   -  person user901010    schedule 14.06.2018


Ответы (1)


Решение, которое сработало для меня:

Удалите папку tfhub_modules и ее содержимое. В приведенной выше трассировке это будет:

/var/folders/z1/nty40mjd64b1xwvw_l1vhcs40000gn/T/tfhub_modules

Другие системы могут отличаться. Для моей установки это было:

/var/folders/cc/0dttrmf90g777cws2m3sfvvr0000gp/T/tfhub_modules

Затем перезапустите retrain.py

Он повторно загрузит обученную сеть и должен работать.

person A Docile Sloth    schedule 26.06.2018