Ошибка при запуске базового примера тензорного потока

62

Я только что переустановил последний тензор на ubuntu:

$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
[sudo] password for ubuntu: 
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo -H flag.
Collecting tensorflow==0.7.1 from https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
  Downloading https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl (13.8MB)
    100% |████████████████████████████████| 13.8MB 32kB/s 
Requirement already up-to-date: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: protobuf==3.0.0b2 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: wheel in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: numpy>=1.8.2 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: setuptools in /usr/local/lib/python2.7/dist-packages (from protobuf==3.0.0b2->tensorflow==0.7.1)
Installing collected packages: tensorflow
  Found existing installation: tensorflow 0.7.1
    Uninstalling tensorflow-0.7.1:
      Successfully uninstalled tensorflow-0.7.1
Successfully installed tensorflow-0.7.1

При прохождении инструкций по тестированию сбой не может импортировать имя pywrap_tensorflow:

$ ipython

/git/tensorflow/tensorflow/__init__.py in <module>()
     21 from __future__ import print_function
     22 
---> 23 from tensorflow.python import *

/git/tensorflow/tensorflow/python/__init__.py in <module>()
     43 _default_dlopen_flags = sys.getdlopenflags()
     44 sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL)
---> 45 from tensorflow.python import pywrap_tensorflow
     46 sys.setdlopenflags(_default_dlopen_flags)
     47 

ImportError: cannot import name pywrap_tensorflow

Есть ли дополнительные изменения, необходимые для моей среды python или ubuntu/ bash?

Теги:
tensorflow

8 ответов

162
Лучший ответ

Из пути в вашей трассировке стека (/git/tensorflow/tensorflow/…) похоже, что ваш путь Python может загружать библиотеки tensorflow из исходного каталога, а не версию, которую вы установили. В результате он не может найти (скомпилированную) библиотеку pywrap_tensorflow, которая установлена ​​в другом каталоге.

Общим решением является cd из каталога /git/tensorflow перед запуском python или ipython.

  • 3
    Простите за опоздание. Кажется, вы были правы: я только что запустил ipython из моего домашнего каталога, и он отлично import tensorflow as tf
  • 2
    Спасибо, блестяще ответил, это было проблемой в течение нескольких часов.
Показать ещё 3 комментария
7

Команда ниже помогла мне.

 pip install tensorflow --upgrade --force-reinstall
4

Я скомпилировал, установил TensorFlow из источника (GitHub: https://github.com/tensorflow/tensorflow) в виртуальной среде Python 2.7 (venv). Он работал отлично, но мне было нужно (как другие упоминали, например, пользователь "mrry" в Ошибка при запуске основного примера тензорного потока), чтобы cd из раздела, в котором я был скомпилирован TensorFlow, в другой раздел, чтобы иметь возможность импортировать shadoworflow в Python. В противном случае, я получил различные ошибки, в зависимости от того, в каком каталоге (исходном разделе) я находился. Чтобы уточнить:

         source: /mnt/Vancouver/apps/tensorflow
can't import tf: Python launched in any of /mnt/...
  can import tf: Python launched in /home/victoria/...

Позже я просто выполнил инструкции здесь,

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#anaconda-installation

и все просто работает, прекрасно.

Для справки, я работаю на

  • Arch Linux [4.6.3-1-ARCH] x86_64
  • Intel i7-4790
  • рабочая среда xfce 4.12

УСТАНОВИТЬ ШАГИ:

Изменить пути, имена venv в соответствии с вашими предпочтениями.

  • Создать tf-env:

    cd /home/victoria/anaconda3/envs
    
    conda create -n tf-env python=2.7 anaconda
    

Примечание: добавление метапакета "anaconda" устанавливает ВСЕ пакеты Anaconda (NumPy;...).

  1. Источник активирует, что venv (tf-env)

    source activate tf-env
    

Примечание: добавлено в ~/.bashrc как псевдоним:

alias tf='echo "  [TensorFlow in Anaconda Python 2.7 venv (source activate tf]" && source activate tf-env'
  1. Установите TensorFlow в tf-env venv:

    (tf-env)$ conda install -c conda-forge tensorflow
    

ЭТО исключает использование pip (включая установку *.whl install script), альтернативный подход к установке TensorFlow, который описан здесь:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md).

РАБОТАЕТ!

(tf-env)[victoria@victoria ~]$ P

  [P: python]
Python 2.7.12 |Anaconda 4.1.1 (64-bit)| (default, Jul  2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

>>> import tensorflow
>>> print tensorflow.__version__
0.9.0
>>> [Ctrl-D]

(tf-env)[victoria@victoria ~]$

Затем вы можете работать с TensorFlow в tf-env; например, в ноутбуках Jupyter, запущенных в этом (tf-env) venv.

1

В моей python -m venv environment это было исправлено:

pip uninstall tensorflow

Изменение requirements.txt сказать tensorflow==1.5.0 вместо tensorflow==1.8.0.

pip install -r requirements.txt
0

Я понял, что TensorFlow 1.12.0 работает только с Python версии 3.5.2. У меня был Python 3.7, но это не сработало. Итак, мне пришлось понизить Python, а затем я мог установить TensorFlow, он работает.

Чтобы снизить версию Python с 3,7 до 3,6

conda install python=3.6.8
0

Установка с помощью следующей команды решает проблему:

pip install --upgrade

Здесь ссылка для скачивания

0

если вы используете процессор, выпущенный до 2011 года, то понизили версию tenorflow с 1.8.0 до 1.5.0 или 1.2.0 и попытайтесь импортировать модуль, который у меня работал.

-7

Я разрешаю проблему. Попробуйте выполнить следующую команду:

pip install --upgrade pip

Ещё вопросы

Сообщество Overcoder
Наверх
Меню