Импортировать тензор потока в Anaconda2: неопределенный символ - PullRequest
2 голосов
/ 21 мая 2019

Этим утром я пытаюсь установить tenorflow на Anaconda3 (Python версии 3.5 и Ubuntu 16.04). Я установил тензор потока с conda install tensorflow. Тем не менее, он не очень хорошо работает при импорте записной книжки Python / Jupyter.

Python 3.5.6 |Anaconda, Inc.| (default, Aug 26 2018, 21:41:56) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/core/framework/graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/google/protobuf/descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
ImportError: /home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/google/protobuf/pyext/_message.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZNK6google8protobuf10TextFormat17FieldValuePrinter9PrintBoolEb
>>> 

Кто-нибудь сталкивался с этим раньше? Я заметил, что есть похожие случаи, но решение может не работать с Anaconda3.

1 Ответ

0 голосов
/ 08 июля 2019

Устанавливаем tenoflow pypi-package с pip

У меня была точно такая же ошибка.Для моего приложения требовалась версия tenorflow 1.0.0.Кажется, есть разница между conda-package и pypi-package of tenorflow.Поэтому удалите conda-пакет tenorflow в <YOUR_CONDA_ENV> ironement и снова установите pip-пакет pip:

# uninstall current tensorflow conda-package 
$ sudo conda uninstall --name <YOUR_CONDA_ENV> tensorflow
# install the pypi-package of tensorflow
$ sudo <YOUR_CONDA_ENV_PATH>/bin/pip install tensorflow==<REQUIRED_VERSION>

В вашем случае <YOUR_CONDA_ENV>=tensorflow, и путь к расположению вашей среды conda равен <YOUR_CONDA_ENV_PATH>=/home/work/.conda/envs/tensorflow.

Убедитесь, что вы используете pip install вашей среды conda (<YOUR_CONDA_ENV_PATH>/bin/pip), а не общий пункт (/bin/pip).Если вы еще не установили pip в своей среде, просто:

$ sudo conda install --name <YOUR_CONDA_ENV> pip
...