Запуск Tensorflow в OSX - PullRequest
       10

Запуск Tensorflow в OSX

0 голосов
/ 21 января 2019

Я написал простой код тензорного потока MNIST ...

Код выполняется очень хорошо, когда я запускаю код с PyCharm.
Но на самом деле, я хотел запустить этот скрипт в терминале с помощью команды python ./mnist.py,поэтому, когда я запускаю код в терминале, я получаю следующую ошибку.

dyld: warning, LC_RPATH $ORIGIN/../../_solib_darwin_x86_64/_U_S_Stensorflow_Spython_C_Upywrap_Utensorflow_Uinternal.so___Utensorflow in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so being ignored in restricted program because it is a relative path
Traceback (most recent call last):
  File "./model_load.py", line 10, in <module>
    import tensorflow as tf
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/core/framework/graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
ImportError: No module named google.protobuf

Люди говорили, что это связано с OSX.Есть предупреждение о LC_RPATH.
Теперь я хочу знать, возникает ли ошибка из-за ImportError или LC_RPATH предупреждение

и если ImportError и предупреждение является отдельной проблемой здесь.

Как я могу решить эту проблему ??
Я использую osx Mojave, pyhton2.7 и tensorflow 1.5.0

1 Ответ

0 голосов
/ 22 января 2019

Я решил свою проблему.Ошибка и предупреждение были независимыми.
Mac OS может запускать тензор потока в терминале независимо от того, появляется предупреждение или нет.
Основная проблема заключалась в том, что python не смог распознать модуль google.protobuf, даже если он был установлен ...

  • Сначала проверьте, что модуль protobuf и модуль google уже установлены.
    pip install google и pip install protobuf

  • Если вы получили ту же ошибку после ввода обоихкоманда означает, что модуль установлен, но python не может его найти.Поэтому нам нужно изменить модуль, чтобы python мог его распознавать.

Переместить в каталог, где установлен пакет python.
В моем случае /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages.

В этом каталоге найдите каталог Google и проверьте, какие файлы находятся внутри.
В моем случае существовал только protobuf.
По этой причине python не смог найти google.protobuf.module.
Нам нужно добавить __init__.py файл, чтобы python мог найти модуль в каталоге.
Поэтому я добавляю пустой __init__.py файл в папку google и могу решить проблему.
Я надеюськто-то, кто испытывает проблемы как я, может решить это вышеупомянутым методом.

...