![](/img/trans.png)
[英]Jupyter kernel dies when importing Tensorflow, trouble with jupyter notebook
[英]Trouble with TensorFlow in Jupyter Notebook
我之前通过 Anaconda 在 Ubuntu 14.04 安装了 Jupyter notebooks,刚才我安装了 TensorFlow。我希望 TensorFlow 可以工作,无论我是在笔记本上工作还是简单地编写脚本。 为了实现这一目标,我最终安装了 TensorFlow 两次,一次使用 Anaconda,一次使用 pip。Anaconda 安装有效,但我需要在对 python 的任何调用前加上“source activate tensorflow”。 pip 安装效果很好,如果以标准方式(在终端中)启动 python,则 tensorflow 加载就好了。
我的问题是:我怎样才能让它在 Jupyter notebooks 中工作?
这让我想到了一个更普遍的问题:似乎我在 Jupyter/Anaconda 中的 python kernel 与系统范围内使用的 python kernel(或环境?不确定这里的术语)是分开的。 如果这些一致就好了,这样如果我安装一个新的 python 库,我运行 python 的所有不同方式都可以访问它。
更新
TensorFlow 网站支持五种安装。
据我了解,直接使用Pip 安装可以在 Jupyter Notebook 中导入 TensorFlow(只要安装了 Jupyter Notebook 并且没有其他问题)b/z 它没有创建任何虚拟环境。
使用virtualenv install和conda install需要将 jupyter 安装到新创建的 TensorFlow 环境中,以允许 TensorFlow 在 Jupyter Notebook 中工作(有关更多详细信息,请参阅以下原始帖子部分)。
我相信docker install可能需要在 VirtualBox 中设置一些端口才能使 TensorFlow 在 Jupyter Notebook 中工作( 参见这篇文章)。
对于从源安装,它还取决于构建和安装源代码的环境。 如果它安装到一个新创建的虚拟环境或没有安装 Jupyter Notebook 的虚拟环境中,它还需要将 Jupyter Notebook 安装到虚拟环境中才能在 Jupyter Notebook 中使用 Tensorflow。
原帖
要在 Ipython 和/或 Jupyter(Ipython) Notebook 中使用 tensorflow,您需要在 tensorflow 激活环境下安装 Ipython 和 Jupyter(安装 tensorflow 后)。
在 tensorflow 环境下安装 Ipython 和 Jupyter 之前,如果你在终端中执行以下命令:
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 时,它使用的是安装在安装 tensorflow 的“环境”中的那个。 因此,您实际上可以成功导入 tensorflow。 但是,如果您尝试运行 ipython 和/或 jupyter 笔记本,它们不会安装在配备 tensorflow 的“环境”下,因此它必须返回使用没有 tensorflow 模块的常规环境,因此您会得到一个导入错误。
您可以通过列出 envs/tensorflow/bin 目录下的项目来验证这一点:
(tensorflow) username$ ls /User/username/anaconda/envs/tensorflow/bin/
您会看到没有列出“ipython”和/或“jupyer”。
要将 tensorflow 与 Ipython 和/或 Jupyter notebook 一起使用,只需将它们安装到 tensorflow 环境中:
(tensorflow) username$ conda install ipython
(tensorflow) username$ pip install jupyter #(use pip3 for python3)
安装它们后,在 envs/tensorflow/bin/ 目录中应该会出现一个“jupyer”和一个“ipython”。
注意:在尝试在 jupyter notebook 中导入 tensorflow 模块之前,请尝试关闭 notebook。 并且首先“source deactivate tensorflow”,然后重新激活它(“source activate tensorflow”)以确保事情“在同一页面上”。 然后重新打开笔记本并尝试导入 tensorflow。 它应该成功导入(至少在我的工作)。
我在 virtualenv 中使用了以下这些。
pip3 install --ignore-installed ipython
pip3 install --ignore-installed jupyter
这会在我的 tensorflow 虚拟环境中重新安装 ipython 和 jupyter notebook。 您可以在安装后通过which ipython
和which jupyter
。 该bin
将位于虚拟环境下。
注意我使用的是 python 3.*
我有另一个解决方案,您不需要在每次使用jupyter notebook
之前source activate tensorflow
。
第 1 部分
首先,你应该确保你已经在你的 virtualenv 中安装了 jupyter。 如果您已经安装,您可以跳过这一部分(使用which jupyter
来检查)。 如果没有,您可以运行source activate tensorflow
,然后通过 conda install 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 将与您的 virtualenv 中的 Python 版本匹配。
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
并将名为display_name
的 JSON 键更改为您喜欢的名称。
4.您现在应该能够在 IPython 笔记本菜单中看到您的内核: Kernel -> Change kernel
并能够切换到它(您可能需要刷新页面才能出现在列表中)。 从那时起,IPython 将记住该笔记本使用哪个内核。
参考。
这是我在 Anaconda -> Jupyter 中启用 tensorflow 所做的。
您的 Anaconda 安装可能与您的 Python 安装进入了不同的目录
例如在我的机器上,我可以在这里找到位置
yaroslavvb-macbookpro:~ yaroslavvb$ which ipython
/Users/yaroslavvb/anaconda/bin/ipython
当您键入python
时,它会尝试在PATH
中以从左到右的顺序找到它。 所以你可能在 Anaconda 文件夹之前的文件夹中有另一个版本的python
,它会使用它。 要修复,您可以执行export PATH=....
更改路径,并将 Anaconda 目录放在前面,以便从那里获取python
而不是默认值,即
export PATH=/Users/yaroslavvb/anaconda/bin:$PATH
我使用 Conda conda install pip
而不是apt-get install python-pip python-dev
安装了 PIP。
然后安装 tensorflow 使用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 notebook 中工作。
接受的答案(由钟宇匡)刚刚帮助了我。 在这里,我创建了一个environment.yml
文件,使我能够使这个 conda / tensorflow 安装过程可重复。
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
)3.6
)随着environment.yml
位于您所在的当前路径中,此命令将创建环境hello-tensorflow
(或您将其重命名为的任何内容):
conda env create -f environment.yml
激活新创建的环境:
source activate hello-tensorflow
哪个蟒蛇...
(hello-tensorflow) $ which python
/home/johnny/anaconda3/envs/hello-tensorflow/bin/python
哪个jupyter...
(hello-tensorflow) $ which jupyter
/home/johnny/anaconda3/envs/hello-tensorflow/bin/jupyter
哪个ipython...
(hello-tensorflow) $ which ipython
/home/johnny/anaconda3/envs/hello-tensorflow/bin/ipython
您现在应该可以从 python、jupyter(console/qtconsole/notebook 等)和 ipython 导入 tensorflow。
我认为您的问题与此处的问题帖子非常相似。 Windows 7 jupyter notebook 执行 tensorflow 。 正如雅罗斯拉夫所说,您可以尝试
conda install -c http://conda.anaconda.org/jjhelmus tensorflow
。
使用自定义Ubuntu 16
映像时,我遇到了类似的问题。 该问题与我的系统上已安装的现有numpy
版本有关。
我最初尝试过
sudo pip3 install tensorflow
这导致了以下异常:
例外:回溯(最近一次调用最后一次):文件“/anaconda/envs/py35/lib/python3.5/shutil.py”,第 538 行,在 move os.rename(src, real_dst) PermissionError: [Errno 13] Permission拒绝:'/anaconda/envs/py35/lib/python3.5/site-packages/numpy'->'/tmp/pip-co73r3hm-uninstall/anaconda/envs/py35/lib/python3.5/site-packages/麻木的'
文档建议,如果您遇到此命令的任何问题,请尝试以下操作:
sudo pip3 install --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl
但是,我的系统无法找到pip3
sudo:找不到 pip3 命令
ulitmate 解决方案是为 pip3 创建一个symlink
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
我想知道从 tensorflow 环境中简单地启动 ipython 是否还不够。 那就是1)首先激活tensorflow virtualenv:
source ~/tensorflow/bin/activate
2)在tensorflow环境下启动ipython
(tensorflow)$ ipython notebook --ip=xxx.xxx.xxx.xxx
我从别人的帖子中找到了解决方案。 它很简单,效果很好!
http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs
只需在命令提示符中安装以下内容,然后在 Jupyter Notebook 中将内核更改为 Python 3。 它将成功导入 tensorflow。
点安装龙卷风==4.5.3
pip install ipykernel==4.8.2
(原帖: https ://github.com/tensorflow/tensorflow/issues/11851)
对于遇到此问题的我或同事的未来版本:
conda install -c conda-forge jupyter jupyterlab keras tensorflow
原来jupyterlab
是jupyter
的插件。
因此,即使您处于具有jupyter
但也没有jupyterlab
的环境中,如果您尝试运行:
jupyter lab
然后jupyter
将在jupyterlab
插件的(base)
环境中查找。
然后,您在jupyter lab
中的导入将与该插件相关,而不是您的 conda 环境。
pip install tensorflow
这在我的 conda 虚拟环境中对我有用。
我试图在已经安装了 jupyter notebooks 的 conda 虚拟环境中使用conda install tensorflow
,导致许多冲突和失败。 但是 pip install 工作正常。
康达信息--envs
conda create --name py3-TF2.0 python=3
继续([y]/n)? 是的
conda 激活 py3-TF2.0
康达安装张量流
pip install --upgrade tensorflow
conda install -c anaconda ipykernel
python -m ipykernel install --user --name=py3-TF2.0
这是最好的方法,但如果需要,您也应该使用 scipy 升级 numpy
您可以尝试“conda install tensorflow”。 这将在您的 Anaconda 目录中安装 TensorFlow。 您的本地 pip 目录可能不会与 Anaconda 目录共享。
如果您觉得回复相关,请给它一个upvote! 谢谢!
打开 Anaconda 提示屏幕:( (base) C:\Users\YOU>conda create -n tf tensorflow
创建环境后输入: conda activate tf
提示移动到(tf)环境,即: (tf) C:\Users\YOU>
然后在此(tf)环境中安装 Jupyter Notebook: conda install -c conda-forge jupyterlab - jupyter notebook
仍然在 (tf) 环境中,即类型(tf) C:\Users\YOU>jupyter notebook
笔记本屏幕启动!!
一个新的笔记本然后可以import tensorflow
从那时起 要打开会话,请单击 Anaconda 提示符,键入conda activate tf
提示移动到 tf 环境(tf) C:\Users\YOU>
然后输入(tf) C:\Users\YOU>jupyter notebook
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.