Ich habe Jupyter-Notebooks in Ubuntu 14.04 über Anaconda installiert, und vor kurzem habe ich TensorFlow installiert. Ich möchte, dass TensorFlow funktioniert, unabhängig davon, ob ich in einem Notizbuch arbeite oder einfach Scripting. Um dies zu erreichen, installierte ich TensorFlow zweimal, einmal mit Anaconda und einmal mit pip. Die Anaconda-Installation funktioniert, aber ich muss jeden Aufruf von Python mit "source enable tensorflow" voranstellen. Und die Pip-Installation funktioniert gut, wenn Python wie üblich (im Terminal) gestartet wird, wird der Tensorflow gut belastet.
Meine Frage ist: Wie kann ich es auch in den Jupyter-Notebooks funktionieren lassen?
Dies führt mich zu einer allgemeineren Frage: Es scheint, dass mein Python-Kernel in Jupyter/Anaconda vom systemabhängigen Python-Kernel (oder der Umgebung - nicht sicher über die Terminologie) getrennt ist. Es wäre schön, wenn diese übereinstimmen würden. Wenn ich also eine neue Python-Bibliothek installiere, wird sie für all die verschiedenen Möglichkeiten des Python-Laufens zugänglich.
Update
TensorFlow-Website unterstützt fünf Installationen.
Nach meinem Verständnis wäre die direkte Verwendung von Pip-Installation in Ordnung, TensorFlow in Jupyter Notebook zu importieren (sofern Jupyter Notebook installiert wurde und keine anderen Probleme auftraten). B/z erstellte keine virtuellen Umgebungen.
Mit virtualenv install und conda install müsste jupyter in der neu erstellten TensorFlow-Umgebung installiert werden, damit TensorFlow in Jupyter Notebook funktionieren kann (siehe den folgenden Abschnitt zum ursprünglichen Beitrag) Einzelheiten).
Ich glaube, Docker-Installation erfordert möglicherweise einige Port-Einstellungen in der VirtualBox, damit TensorFlow in Jupyter Notebook funktioniert ( siehe diesen Beitrag ).
Bei Installation von Quellen hängt es auch davon ab, in welcher Umgebung der Quellcode erstellt und installiert wird. Wenn es in einer frisch erstellten virtuellen Umgebung oder einer virtuellen Umgebung installiert wird, in der Jupyter Notebook nicht installiert ist, muss Jupyter Notebook auch in der virtuellen Umgebung installiert werden, um Tensorflow in Jupyter Notebook verwenden zu können.
Ursprünglicher Beitrag
Um Tensorflow in Ipython und/oder Jupyter (Ipython) Notebook zu verwenden, müssen Sie Ipython und Jupyter (nach der Installation von Tensorflow) in der aktivierten Tensorflow-Umgebung installieren.
Bevor Sie Ipython und Jupyter in der Tensorflow-Umgebung installieren, müssen Sie die folgenden Befehle in terminal ausführen:
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
Dies sagt Ihnen, dass wenn Sie Python vom Terminal aus öffnen, es das verwendet, das in den "Umgebungen" installiert ist, in denen der Tensorflow installiert ist. Daher können Sie den Tensorflow tatsächlich erfolgreich importieren. Wenn Sie jedoch versuchen, ein ipython- und/oder ein jupyter-Notebook auszuführen, werden diese nicht in den mit tensorflow ausgestatteten "Umgebungen" installiert. Daher muss die normale Umgebung ohne Tensorflow-Modul verwendet werden. Daher wird ein Import angezeigt Error.
Sie können dies überprüfen, indem Sie die Elemente im Verzeichnis envs/tensorflow/bin auflisten:
(tensorflow) username$ ls /User/username/anaconda/envs/tensorflow/bin/
Sie werden sehen, dass es keine "ipython" - und/oder "jupyer" -Auflistung gibt.
Um Tensorflow mit Ipython und/oder Jupyter Notebook zu verwenden, installieren Sie sie einfach in der Tensorflow-Umgebung:
(tensorflow) username$ conda install ipython
(tensorflow) username$ pip install jupyter #(use pip3 for python3)
Nach der Installation sollte im Verzeichnis envs/tensorflow/bin/ein "jupyer" und ein "ipython" angezeigt werden.
Hinweise: Bevor Sie versuchen, das Tensorflow-Modul in ein Jupyter-Notebook zu importieren, schließen Sie das Notebook. Und "Quelle deaktivieren Tensorflow" zuerst und reaktivieren Sie ihn anschließend ("Quelle aktivieren Tensorflow"), um sicherzustellen, dass sich die Dinge auf derselben Seite befinden. Dann öffnen Sie das Notebook erneut und versuchen Sie, den Tensorflow zu importieren. Es sollte erfolgreich importiert werden (zumindest an meinem gearbeitet).
diese habe ich in virtualenv verwendet.
pip3 install --ignore-installed ipython
pip3 install --ignore-installed jupyter
Dadurch werden sowohl das ipython- als auch das jupyter-Notebook in meiner virtuellen Tensorflow-Umgebung neu installiert. Sie können es nach der Installation durch which ipython
und which jupyter
überprüfen. Die bin
befindet sich unter der virtuellen Env.
NOTEIch benutze Python 3. *
Ich habe eine andere Lösung, die Sie nicht jedes Mal source activate tensorflow
verwenden müssen, bevor Sie jupyter notebook
verwenden.
Teil 1
Zunächst sollten Sie sicherstellen, dass Sie jupyter in Ihrer virtualenv installiert haben. Wenn Sie installiert haben, können Sie diesen Abschnitt überspringen (verwenden Sie which jupyter
zum Überprüfen). Wenn Sie dies nicht tun, können Sie source activate tensorflow
ausführen und dann jupyter mithilfe von conda install jupyter
in Ihrer virtuellen Umgebung installieren. (Sie können auch pip
verwenden.)
Teil 2
1.Von deiner Virtualenv aus ausführen
username$ source activate tensorflow
(tensorflow)username$ ipython kernelspec install-self --user
Dadurch wird eine Kernelspec für Ihre Virtualenv erstellt und Ihnen mitgeteilt, wo sich diese befindet:
(tensorflow)username$ [InstallNativeKernelSpec] Installed kernelspec pythonX in /home/username/.local/share/jupyter/kernels/pythonX
Wo pythonX der Version von Python in Ihrer virtualenv entsprechen wird.
2.Kopieren Sie die neue Kernelspec an einem geeigneten Ort. Wählen Sie einen kernel_name
für Ihren neuen Kernel, der nicht python2
oder python3
ist oder den Sie zuvor verwendet haben, und dann:
(tensorflow)username$ mkdir -p ~/.ipython/kernels
(tensorflow)username$ mv ~/.local/share/jupyter/kernels/pythonX ~/.ipython/kernels/<kernel_name>
3.Wenn Sie den Namen des von IPython angezeigten Kernels ändern möchten, müssen Sie ~/.ipython/kernels/<kernel_name>/kernel.json
bearbeiten und den JSON-Schlüssel mit dem Namen display_name
in einen gewünschten Namen ändern.
4.Sie sollten nun Ihren Kernel im IPython-Notizbuchmenü sehen können: Kernel -> Change kernel
und so umschalten können (möglicherweise müssen Sie die Seite aktualisieren, bevor sie in der Liste angezeigt wird). IPython merkt sich dann, welcher Kernel für dieses Notebook verwendet wird.
Referenz .
Folgendes habe ich getan, um Tensorflow in Anaconda -> Jupyter zu ermöglichen.
Ihre Anaconda-Installation wurde wahrscheinlich in ein anderes Verzeichnis verschoben als Ihre Python-Installation
Zum Beispiel auf meiner Maschine finde ich hier den Ort
yaroslavvb-macbookpro:~ yaroslavvb$ which ipython
/Users/yaroslavvb/anaconda/bin/ipython
Wenn Sie python
eingeben, versucht es, es in PATH
zu finden, das von links nach rechts geht. Möglicherweise haben Sie eine andere Version von python
in einem Ordner vor dem Anaconda-Ordner, und diese wird verwendet. Um dies zu beheben, können Sie export PATH=....
verwenden, um den Pfad zu ändern, und das Anaconda-Verzeichnis in den Vordergrund stellen, so dass python
anstelle des Standardwerts von dort verwendet wird
export PATH=/Users/yaroslavvb/anaconda/bin:$PATH
Ich habe PIP mit Conda conda install pip
anstelle von apt-get install python-pip python-dev
installiert.
Dann installierte tensorflow Use Pip Installation :
# 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
Dann wird es in Jupyter Notebook funktionieren.
Ich habe die Lösung in einem anderen Post gefunden. Es ist einfach und funktioniert gut!
http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs
Installieren Sie einfach Folgendes in der Eingabeaufforderung und ändern Sie den Kernel in Python 3 in Jupyter Notebook. Der Tensorflow wird erfolgreich importiert.
pip install tornado == 4.5.3
pip install ipykernel == 4.8.2
(Ursprünglicher Beitrag: https://github.com/tensorflow/tensorflow/issues/11851 )
Ich hatte ein ähnliches Problem bei der Verwendung eines benutzerdefinierten Ubuntu 16
-Bildes. Das Problem war auf eine vorhandene Version von numpy
zurückzuführen, die bereits auf meinem System installiert war.
Ich habe es anfangs versucht
Sudo pip3 install tensorflow
Dies führte zu der folgenden Ausnahme:
Ausnahme: Traceback (letzter Anruf zuletzt): Datei "/anaconda/envs/py35/lib/python3.5/shutil.py", Zeile 538, in Bewegung os.rename (src, real_dst) PermissionError: [Errno 13] Berechtigung abgelehnt: '/anaconda/envs/py35/lib/python3.5/site-packages/numpy' -> '/ tmp/pip-co73r3hm-uninstall/anaconda/envs/py35/lib/python3 .5/site-packages/numpy '
Die Dokumente weisen Sie darauf hin, dass Sie bei Problemen mit diesem Befehl Folgendes versuchen sollten:
Sudo pip3 install --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl
Mein System konnte pip3
jedoch nicht finden.
Sudo: Befehl pip3 nicht gefunden
Die ulitmate-Lösung bestand darin, eine symlink
für pip3 zu erstellen
Sudo ln -s /anaconda/envs/py35/bin/pip3.5 /usr/local/bin/pip3
Schließlich funktionierte der folgende Befehl problemlos
Sudo /usr/local/bin/pip3 install --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl
Ich habe die Installation in der terminal
und auch einen erfolgreichen Import in meinem Jupyter Notebook
überprüft.
import tensorflow as tf
Ich frage mich, ob es nicht ausreicht, ipython einfach aus der tensorflow-Umgebung zu starten. Das ist 1) Aktivieren Sie zuerst tensorflow virtualenv mit:
source ~/tensorflow/bin/activate
2) Starten Sie ipython in einer Tensorflow-Umgebung
(tensorflow)$ ipython notebook --ip=xxx.xxx.xxx.xxx
Für eine zukünftige Version von mir oder einem Kollegen, der auf dieses Problem stößt:
conda install -c conda-forge jupyter jupyterlab keras tensorflow
Es stellte sich heraus, dass jupyterlab
ein Plugin für jupyter
ist.
Selbst wenn Sie sich in einer Umgebung mit jupyter
befinden, aber nichtjupyterlab
, versuchen Sie Folgendes auszuführen:
jupyter lab
dann wird jupyter
im (base)
Umgebung für das jupyterlab
Plugin.
Dann importieren Sie in jupyter lab
ist relativ zu diesem Plugin und nicht Ihrer Conda-Umgebung.
Die akzeptierte Antwort (von Zhongyu Kuang) hat mir gerade geholfen. Hier habe ich eine environment.yml
-Datei erstellt, die es mir ermöglicht, diesen Conda/Tensorflow-Installationsprozess wiederholbar zu machen.
environment.yml
sieht so aus:
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
Hinweis:
hello-tensorflow
)3.6
)Wenn sich environment.yml
in dem aktuellen Pfad befindet, in dem Sie sich befinden, erstellt dieser Befehl die Umgebung hello-tensorflow
(oder was auch immer Sie umbenannt haben):
conda env create -f environment.yml
Aktivieren Sie die neu erstellte Umgebung:
source activate hello-tensorflow
welcher Python ...
(hello-tensorflow) $ which python
/home/johnny/anaconda3/envs/hello-tensorflow/bin/python
was jupyter ...
(hello-tensorflow) $ which jupyter
/home/johnny/anaconda3/envs/hello-tensorflow/bin/jupyter
welche ipython ...
(hello-tensorflow) $ which ipython
/home/johnny/anaconda3/envs/hello-tensorflow/bin/ipython
Sie sollten nun Tensorflow von Python, Jupyter (Console/qtconsole/notebook usw.) und ipython importieren können.
Ich denke, deine Frage ist sehr ähnlich mit der Frage hier. Windows 7 Jupyter Notebook ausgeführt Tensorflow . Wie Jaroslaw erwähnt hat, kannst du es versuchen
conda install -c http://conda.anaconda.org/jjhelmus tensorflow
.