Jupyter Notebook中的TensorFlow出现问题
python
tensorflow
5
0

我之前通过Anaconda在Ubuntu 14.04中安装了Jupyter笔记本,而现在我安装了TensorFlow。我希望TensorFlow能够正常工作,而不管我是在笔记本中还是在简单地编写脚本。为了实现这一目标,我最终两次安装了TensorFlow,一次使用Anaconda,一次使用pip。 Anaconda安装工作正常,但是我需要在对python的任何调用之前加上“源代码激活tensorflow”。而且pip安装效果很好,如果以标准方式(在终端中)启动python,则tensorflow加载就很好了。

我的问题是:如何在Jupyter笔记本中也能使用它?

这使我想到了一个更笼统的问题:似乎我在Jupyter / Anaconda中使用的python内核与在整个系统范围内使用的python内核(或环境?这里不确定术语)是分开的。如果这些代码重合,那就太好了,因此,如果我安装了新的python库,则可以用我运行python的所有各种方式来访问它。

参考资料:
Stack Overflow
收藏
评论
共 5 个回答
高赞 时间 活跃

这是我在Anaconda-> Jupyter中启用tensorflow所做的工作。

  1. 使用提供的说明安装Tensorflow
  2. 转到/ Users / username / anaconda / env并确保已安装Tensorflow
  3. 打开Anaconda导航器,然后转到“环境”(位于左侧导航中)
  4. 在第一个下拉列表中选择“全部”,然后搜索Tensorflow
  5. 如果未启用,请在复选框中启用它,然后确认随后的过程。
  6. 现在打开一个新的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
收藏
评论

我有另一个解决方案,您不需要每次使用jupyter notebook source activate tensorflow之前都需要source activate tensorflow

分区1

首先,您应确保已在virtualenv中安装了jupyter。如果已安装,则可以跳过本节(使用要检查的which jupyter )。如果没有,您可以运行source activate tensorflow ,然后source activate tensorflow install jupyter在您的virtualenv中conda install jupyter 。 (您也可以使用pip 。)

第2部分

1.从您的virtualenv中运行

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

这将为您的virtualenv创建一个kernelspec并告诉您它在哪里:

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

pythonX将与您的virtualenv中的Python版本匹配的位置。

2.将新的kernelspec复制到有用的地方。为新内核选择一个不是python2python3或以前使用过的内核的kernel_name ,然后:

(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就会记住该笔记本要使用哪个内核。

参考

收藏
评论

更新资料

TensorFlow网站支持五项安装。

据我了解,直接使用Pip安装可以在Jupyter Notebook中导入TensorFlow(只要已安装Jupyter Notebook并且没有其他问题),因为b / z不会创建任何虚拟环境。

使用virtualenv installconda install需要将jupyter安装到新创建的TensorFlow环境中,以允许TensorFlow在Jupyter Notebook中工作 (有关更多详细信息,请参见以下原始帖子部分)。

我相信docker安装可能需要在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的“环境”中的Python。因此,您实际上可以成功导入tensorflow。但是,如果您尝试运行ipython和/或jupyter笔记本,则它们未安装在配备tensorflow的“环境”下,因此必须返回使用没有tensorflow模块的常规环境,因此可以导入错误。

您可以通过列出envs / tensorflow / bin目录下的项目来验证这一点:

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

您将看到没有列出“ ipython”和/或“ jupyer”。

要将tensorflow与Ipython和/或Jupyter笔记本一起使用,只需将它们安装到tensorflow环境中即可:

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

安装它们之后,应该在envs / tensorflow / bin /目录中显示一个“ jupyer”和一个“ ipython”。

注意:尝试在jupyter笔记本中导入tensorflow模块之前,请尝试关闭笔记本。然后首先“ source deactivate tensorflow”,然后重新激活它(“ source activate tensorflow”),以确保事物“在同一页面上”。然后重新打开笔记本并尝试导入tensorflow。应该成功导入(至少在我的系统上工作过)。

收藏
评论

我在virtualenv中使用了以下这些。

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

这将在我的tensorflow虚拟环境中重新安装ipython和jupyter笔记本。您可以在安装后通过which ipythonwhich jupyterbin将在虚拟环境下。

注意我正在使用python 3. *

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号