it-roy-ru.com

Проблема с TensorFlow в ноутбуке Jupyter

Я установил ноутбуки Jupyter в Ubuntu 14.04 через Anaconda ранее, и только сейчас я установил TensorFlow. Я бы хотел, чтобы TensorFlow работал независимо от того, работаю ли я в блокноте или просто пишу сценарии. Пытаясь добиться этого, я дважды установил TensorFlow, один раз с помощью Anaconda и один раз с помощью pip. Установка Anaconda работает, но мне нужно предвосхитить любой вызов python с помощью «source activ tenorflow». И установка pip работает хорошо, если запустить python стандартным способом (в терминале), то tenorflow загружается просто отлично. 

У меня вопрос: как я могу сделать так, чтобы он работал в ноутбуках Jupyter? 

Это приводит меня к более общему вопросу: кажется, что мое ядро ​​Python в Jupyter/Anaconda отделено от ядра Python (или среды? Не уверен насчет терминологии здесь), используемой во всей системе. Было бы хорошо, если бы они совпали, поэтому, если я установлю новую библиотеку Python, она станет доступной для всех разнообразных способов запуска Python.

29
Surgical Commander

Обновление

веб-сайт TensorFlow поддерживает пять установок. 

Насколько я понимаю, с помощью установки Pip было бы неплохо импортировать TensorFlow в Jupyter Notebook (до тех пор, пока Jupyter Notebook был установлен и других проблем не было) b/z он не создавал виртуальных сред. 

Используя virtualenv install и conda install потребуется установить jupyter во вновь созданную среду TensorFlow, чтобы позволить TensorFlow работать в Jupyter Notebook (более подробную информацию см. В следующем разделе исходного сообщения). 

Я полагаю, что установка docker может потребоваться некоторая настройка порта в VirtualBox, чтобы TensorFlow работал в Jupyter Notebook ( см. Этот пост ). 

Для установка из исходников , это также зависит от того, в какую среду встроен и установлен исходный код. Если он установлен в только что созданную виртуальную среду или виртуальную среду, в которой не установлено приложение Jupyter Notebook, потребуется также установить Jupyter Notebook в виртуальную среду, чтобы использовать Tensorflow в Jupyter Notebook.

Исходное сообщение

Чтобы использовать tenorflow в Ipython и/или Jupyter (Ipython) Notebook, вам необходимо установить Ipython и Jupyter (после установки tenorflow) в среде с активированным тензорным потоком.

Перед установкой Ipython и Jupyter в среде tenorflow, если вы выполните следующие команды в терминале:

username$ source activate tensorflow

(tensorflow)username$ which ipython
(tensorflow)username$ /Users/username/anaconda/bin/ipython

(tensorflow)username$ which jupyter
(tensorflow)username$ /Users/username/anaconda/bin/jupyter

(tensorflow)username$ which python
(tensorflow)username$ /User/username//anaconda/envs/tensorflow/bin/python

Это говорит вам о том, что когда вы открываете python из терминала, он использует тот, который установлен в «средах», где установлен tenorflow. Поэтому вы можете успешно импортировать тензорный поток. Тем не менее, если вы пытаетесь запустить ноутбук ipython и/или jupyter, они не устанавливаются в «средах», снабженных tenorflow, поэтому необходимо вернуться к использованию обычной среды, в которой нет модуля tenorflow, поэтому вы получаете импорт ошибка.

Вы можете убедиться в этом, перечислив элементы в каталоге envs/tenorflow/bin:

(tensorflow) username$ ls /User/username/anaconda/envs/tensorflow/bin/

Вы увидите, что в списке нет «ipython» и/или «jupyer».

Чтобы использовать тензор потока с ноутбуком Ipython и/или Jupyter, просто установите их в среду тензор потока:

(tensorflow) username$ conda install ipython
(tensorflow) username$ pip install jupyter #(use pip3 for python3)

После их установки в каталоге envs/tenorflow/bin/должны появиться «jupyer» и «ipython».

Примечания: Прежде чем импортировать модуль tenorflow в блокнот jupyter, попробуйте закрыть блокнот. И сначала «источник деактивирует тензорный поток», а затем снова его активируют («источник активирует тензорный поток»), чтобы убедиться, что все «на одной странице». Затем снова откройте блокнот и попробуйте импортировать тензор потока. Должен быть успешно импортирован (работал на моем как минимум).

56
Zhongyu Kuang

я использовал эти следующие, которые в virtualenv. 

pip3 install --ignore-installed ipython
pip3 install --ignore-installed jupyter

Это переустанавливает ноутбук ipython и jupyter в моей виртуальной среде tenorflow. Вы можете проверить это после установки с помощью which ipython и which jupyter. bin будет находиться под виртуальным окружением.

NOTEЯ использую Python 3. *

5
as - if

У меня есть другое решение, которое вам не нужно source activate tensorflow перед каждым использованием jupyter notebook.

Часть 1

Во-первых, вы должны убедиться, что вы установили Jupyter в вашем virtualenv. Если вы установили, вы можете пропустить этот раздел (используйте which jupyter для проверки). Если нет, вы можете запустить source activate tensorflow, а затем установить jupyter в вашем virtualenv с помощью conda install jupyter. (Вы также можете использовать pip.)

Часть 2 

1. Изнутри вашего virtualenv бегите

username$ source activate tensorflow
(tensorflow)username$ ipython kernelspec install-self --user

Это создаст спецификацию ядра для вашего virtualenv и скажет вам, где он находится:

(tensorflow)username$ [InstallNativeKernelSpec] Installed kernelspec pythonX in /home/username/.local/share/jupyter/kernels/pythonX

Где pythonX будет соответствовать версии Python в вашем virtualenv.

2. Скопируйте новую спецификацию ядра где-нибудь полезным. Выберите kernel_name для вашего нового ядра, которое не является python2 или python3 или тем, которое вы использовали ранее, а затем:

(tensorflow)username$ mkdir -p ~/.ipython/kernels
(tensorflow)username$ mv ~/.local/share/jupyter/kernels/pythonX ~/.ipython/kernels/<kernel_name>

3. Если вы хотите изменить имя ядра, которое показывает вам IPython, вам нужно отредактировать ~/.ipython/kernels/<kernel_name>/kernel.json и изменить ключ JSON с именем display_name на имя, которое вам нравится.

4. Теперь вы сможете увидеть свое ядро ​​в меню записной книжки IPython: Kernel -> Change kernel и переключиться на него (вам может потребоваться обновить страницу, прежде чем она появится в списке). IPython будет помнить, какое ядро ​​использовать для этого ноутбука с тех пор.

Ссылка .

4
user5746429

Вот что я сделал, чтобы включить тензорный поток в Anaconda -> Jupyter. 

  1. Установите Tensorflow, следуя инструкциям на 
  2. Перейдите в/Users/username/anaconda/env и убедитесь, что Tensorflow установлен
  3. Откройте навигатор Anaconda и перейдите в «Среды» (находится в левой части навигации)
  4. Выберите «Все» в первом выпадающем списке и найдите Tensorflow
  5. Если он не включен, включите его в флажок и подтвердите следующий процесс. 
  6. Теперь откройте новый ноутбук Jupyter, и тензорный поток должен работать 
2
Ankur Shrivastav

Ваша установка Anaconda, вероятно, прошла в другой каталог, чем ваша установка Python

Например, на моей машине я могу найти местоположение здесь

yaroslavvb-macbookpro:~ yaroslavvb$ which ipython
/Users/yaroslavvb/anaconda/bin/ipython

Когда вы набираете python, он пытается найти его в PATH в порядке слева направо. Таким образом, у вас может быть другая версия python в папке перед папкой Anaconda, и она будет использовать ее. Чтобы исправить это, вы можете сделать export PATH=...., чтобы изменить путь, и поместить каталог Anaconda вперед, чтобы он взял оттуда python вместо значения по умолчанию, т.е.

export PATH=/Users/yaroslavvb/anaconda/bin:$PATH
2
Yaroslav Bulatov

Я установил PIP с Conda conda install pip вместо apt-get install python-pip python-dev.

Затем установил тензор потока Использование Установка Pip :

# Ubuntu/Linux 64-bit, CPU only, Python 2.7 
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7 
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below. 
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

...

pip install --upgrade $TF_BINARY_URL

Тогда это будет работать в ноутбуке Jupyter. 

1
Q.Liu

Я нашел решение из чужого поста. Это просто и хорошо работает! 

http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs

Просто установите следующее в командной строке и измените ядро ​​на Python 3 в Jupyter Notebook. Он успешно импортирует тензорный поток.

pip install tornado == 4.5.3

pip install ipykernel == 4.8.2

(Оригинальный пост: https://github.com/tensorflow/tensorflow/issues/11851

0
LovelyVV

У меня была похожая проблема при использовании собственного изображения Ubuntu 16. Проблема была связана с существующей версией numpy, которая уже была установлена ​​в моей системе.

Я изначально пробовал

Sudo pip3 install tensorflow

Это привело к следующему исключению:

Исключение: Traceback (последний вызов был последним): Файл "/anaconda/envs/py35/lib/python3.5/shutil.py", строка 538, в движении os.rename (src, real_dst) PermissionError: [Errno 13] Отказано в доступе: '/anaconda/envs/py35/lib/python3.5/site-packages/numpy' -> '/ tmp/pip-co73r3hm-uninstall/anaconda/envs/py35/lib/python3 0,5/сайт-пакеты/NumPy»

Документы рекомендуют, что если у вас возникнут какие-либо проблемы с этой командой, попробуйте следующее:

Sudo pip3 install --upgrade \ 
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl

Однако моя система не смогла найти pip3

Sudo: команда pip3 не найдена

Окончательным решением было создать symlink для pip3

Sudo ln -s /anaconda/envs/py35/bin/pip3.5 /usr/local/bin/pip3

Наконец, следующая команда сработала без проблем

Sudo /usr/local/bin/pip3 install --upgrade \ 
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl

Я подтвердил установку в terminal, а также подтвердил успешный импорт в свой Jupyter Notebook

import tensorflow as tf
0
Brian Vanover

Интересно, не достаточно ли просто запустить ipython из среды tenorflow. То есть 1) сначала активируйте тензор потока virtualenv с помощью:

source ~/tensorflow/bin/activate

2) запустить ipython в среде tenorflow

(tensorflow)$ ipython notebook --ip=xxx.xxx.xxx.xxx
0
sph

Принятый ответ (Zhongyu Kuang) только что помог мне. Здесь я создал файл environment.yml, который позволяет мне повторять процесс установки conda/tenorflow.

Шаг 1 - создайте файл Conda environment.yml

environment.yml выглядит так:

name: hello-tensorflow
dependencies:
  - python=3.6
  - jupyter
  - ipython
  - pip:
    - https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp36-cp36m-linux_x86_64.whl

Замечания:

  • Просто замените имя на то, что вы хотите. (мой hello-tensorflow)
  • Просто замените версию Python на то, что вы хотите. (мой 3.6)
  • Просто замените URL установки pip tenorsflow на все, что вам нужно (у меня есть URL Tensorflow, где Python 3.6 с поддержкой GPU)

Шаг 2 - создать среду Conda

Когда environment.yml находится в текущем пути, по которому вы находитесь, эта команда создает среду hello-tensorflow (или любую другую, в которую вы ее переименовали):

conda env create -f environment.yml

Шаг 3: источник активировать

Активируйте вновь созданную среду:

source activate hello-tensorflow

Шаг 4 - какой python/jupyter/ipython

какой питон ...

(hello-tensorflow) $ which python
/home/johnny/anaconda3/envs/hello-tensorflow/bin/python

какой юпитер ...

(hello-tensorflow) $ which jupyter
/home/johnny/anaconda3/envs/hello-tensorflow/bin/jupyter

какой ипифон ...

(hello-tensorflow) $ which ipython
/home/johnny/anaconda3/envs/hello-tensorflow/bin/ipython

Шаг 5

Теперь вы сможете импортировать тензорный поток из python, jupyter (console/qtconsole/notebook и т.д.) И ipython.

0
Atlas7

Я думаю, что ваш вопрос очень похож на вопрос пост здесь. Windows 7 Jupyter Notebook выполняет тензор потока . Как сказал Ярослав, вы можете попробовать 

conda install -c http://conda.anaconda.org/jjhelmus tensorflow.

0
Yan Zhao