Tensorflow при ошибке Raspberry Pi

У меня есть скрипт python, который работает без ошибок на моем рабочем столе. Когда я пытаюсь запустить его на своем Raspberry Pi, я получаю сообщение об ошибке.

Чтобы установить tensorflow на raspberry pi для python 3.5, я следовал этому руководству: https://petewarden.com/2017/08/20/cross-compiling-tensorflow-for-the-raspberry-pi/ Нет официального бинарного файла для tensorflow и python 3.5 и У меня были ошибки, когда я пытался скомпилировать его самостоятельно. В руководстве предлагается просто установить tensorflow из бинарного файла Python 3.4.

Если вы используете Python 3.5, вы можете использовать колесо Python 3.4, но с небольшим изменением имени файла, так как оно кодирует версию. Вы будете видеть пару предупреждений каждый раз, когда будете импортировать tensorflow, но он должен работать корректно.

Вот ошибка, с которой я сталкиваюсь:

/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: compiletime version 3.4 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.5
  return f(*args, **kwds)
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: builtins.type size changed, may indicate binary incompatibility. Expected 432, got 412
  return f(*args, **kwds)
Traceback (most recent call last):
  File "run.py", line 93, in <module>
    model = FastPredict(tf.contrib.learn.Estimator(model_fn=convolutional_neural_network, model_dir="tmp"))
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/python/util/lazy_loader.py", line 53, in __getattr__
    module = self._load()
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/python/util/lazy_loader.py", line 42, in _load
    module = importlib.import_module(self.__name__)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/contrib/__init__.py", line 82, in <module>
    from tensorflow.contrib.eager.python import tfe as eager
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/contrib/eager/python/tfe.py", line 76, in <module>
    from tensorflow.contrib.eager.python.datasets import Iterator
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/contrib/eager/python/datasets.py", line 23, in <module>
    from tensorflow.contrib.data.python.ops import prefetching_ops
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/contrib/data/python/ops/prefetching_ops.py", line 25, in <module>
    resource_loader.get_path_to_datafile("../../_prefetching_ops.so"))
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/contrib/util/loader.py", line 55, in load_op_library
    ret = load_library.load_op_library(path)
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/python/framework/load_library.py", line 56, in load_op_library
    lib_handle = py_tf.TF_LoadLibrary(library_filename, status)
  File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.NotFoundError: /home/pi/.local/lib/python3.5/site-packages/tensorflow/contrib/data/python/ops/../../_prefetching_ops.so: undefined symbol: _ZN6google8protobuf8internal26fixed_address_empty_stringE

Строка 93 пытается создать Estimator, что вызывает ошибку.

tf.contrib.learn.Estimator(model_fn=convolutional_neural_network, model_dir="tmp")

Я нашел аналогичную ошибку на github, но это не помогло: https://github.com/tensorflow/serving/issues/684


person Ryan    schedule 07.01.2018    source источник
comment
Сообщение об ошибке указывает на несоответствие версии библиотеки. Таким образом, учебник может быть неправильным. Можете ли вы попробовать Python 3.4?   -  person Klaus D.    schedule 07.01.2018
comment
Я попробовал это с Python 2.7 и столкнулся с той же ошибкой. Перед этим я сделал новую установку ОС. gist.github.com/anonymous/b18204febd4c06d456681e913cceeb9c   -  person Ryan    schedule 09.01.2018


Ответы (1)


Я установил более старую сборку. Это не вызывает эту ошибку. http://ci.tensorflow.org/view/Nightly/job/nightly-pi/78/artifact/output-artifacts/tensorflow-1.3.0-cp27-none-any.whl

person Ryan    schedule 09.01.2018