Запуск Tensorflow в OSX

Я написал простой код тензорного потока 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.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
288
1

Ответы 1

Я решил свою проблему. Ошибка и предупреждение были независимыми.
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.
. Нам нужно добавить файл __init__.py, чтобы python мог найти модуль в каталоге.
Поэтому я добавляю пустой файл __init__.py в папку google и могу решить проблему.
Я надеюсь, что кто-то, у кого есть такие проблемы, как я, сможет решить их с помощью вышеуказанного метода.

Другие вопросы по теме