在Jupyter Notebook中运行Tensorflow

41

我正在尝试进行一些深度学习工作。为此,我首先在Python环境中安装了所有深度学习包。

这是我所做的。

在Anaconda中,我创建了一个名为tensorflow的环境,如下所示:

conda create -n tensorflow

然后在其中安装了数据科学Python包,如Pandas、NumPy等。我还在其中安装了TensorFlow和Keras。以下是该环境中的软件包列表。

(tensorflow) SFOM00618927A:dl i854319$ conda list
# packages in environment at /Users/i854319/anaconda/envs/tensorflow:
#
appdirs                   1.4.3                     <pip>
appnope                   0.1.0                    py36_0  
beautifulsoup4            4.5.3                    py36_0  
bleach                    1.5.0                    py36_0  
cycler                    0.10.0                   py36_0  
decorator                 4.0.11                   py36_0  
entrypoints               0.2.2                    py36_1  
freetype                  2.5.5                         2  
html5lib                  0.999                    py36_0  
icu                       54.1                          0  
ipykernel                 4.5.2                    py36_0  
ipython                   5.3.0                    py36_0  
ipython_genutils          0.2.0                    py36_0  
ipywidgets                6.0.0                    py36_0  
jinja2                    2.9.5                    py36_0  
jsonschema                2.5.1                    py36_0  
jupyter                   1.0.0                    py36_3  
jupyter_client            5.0.0                    py36_0  
jupyter_console           5.1.0                    py36_0  
jupyter_core              4.3.0                    py36_0  
Keras                     2.0.2                     <pip>
libpng                    1.6.27                        0  
markupsafe                0.23                     py36_2  
matplotlib                2.0.0               np112py36_0  
mistune                   0.7.4                    py36_0  
mkl                       2017.0.1                      0  
nbconvert                 5.1.1                    py36_0  
nbformat                  4.3.0                    py36_0  
notebook                  4.4.1                    py36_0  
numpy                     1.12.1                    <pip>
numpy                     1.12.1                   py36_0  
openssl                   1.0.2k                        1  
packaging                 16.8                      <pip>
pandas                    0.19.2              np112py36_1  
pandocfilters             1.4.1                    py36_0  
path.py                   10.1                     py36_0  
pexpect                   4.2.1                    py36_0  
pickleshare               0.7.4                    py36_0  
pip                       9.0.1                    py36_1  
prompt_toolkit            1.0.13                   py36_0  
protobuf                  3.2.0                     <pip>
ptyprocess                0.5.1                    py36_0  
pygments                  2.2.0                    py36_0  
pyparsing                 2.1.4                    py36_0  
pyparsing                 2.2.0                     <pip>
pyqt                      5.6.0                    py36_2  
python                    3.6.1                         0  
python-dateutil           2.6.0                    py36_0  
pytz                      2017.2                   py36_0  
PyYAML                    3.12                      <pip>
pyzmq                     16.0.2                   py36_0  
qt                        5.6.2                         0  
qtconsole                 4.3.0                    py36_0  
readline                  6.2                           2  
scikit-learn              0.18.1              np112py36_1  
scipy                     0.19.0              np112py36_0  
setuptools                34.3.3                    <pip>
setuptools                27.2.0                   py36_0  
simplegeneric             0.8.1                    py36_1  
sip                       4.18                     py36_0  
six                       1.10.0                    <pip>
six                       1.10.0                   py36_0  
sqlite                    3.13.0                        0  
tensorflow                1.0.1                     <pip>
terminado                 0.6                      py36_0  
testpath                  0.3                      py36_0  
Theano                    0.9.0                     <pip>
tk                        8.5.18                        0  
tornado                   4.4.2                    py36_0  
traitlets                 4.3.2                    py36_0  
wcwidth                   0.1.7                    py36_0  
wheel                     0.29.0                    <pip>
wheel                     0.29.0                   py36_0  
widgetsnbextension        2.0.0                    py36_0  
xz                        5.2.2                         1  
zlib                      1.2.8                         3  
(tensorflow) SFOM00618927A:dl i854319$

你可以看到已经安装了jupyter
现在,当我在这个环境中打开Python解释器并运行基本的TensorFlow命令时,一切都很正常。然而,我想在Jupyter笔记本中做同样的事情。因此,我创建了一个新目录(在这个环境之外)。
mkdir dl

在那里,我激活了 tensorflow 环境

SFOM00618927A:dl i854319$ source activate tensorflow
(tensorflow) SFOM00618927A:dl i854319$ conda list

我可以看到同样的软件包列表。现在,我打开了一个Jupyter笔记本。
SFOM00618927A:dl i854319$ source activate tensorflow
(tensorflow) SFOM00618927A:dl i854319$ jupyter notebook

它在浏览器中打开一个新的笔记本。但是,当我只是导入基本的Python库(如pandas)时,它会显示“没有可用的包”。如果我使用Python解释器,在相同的环境和目录中都可以看到所有的包,所以我不确定为什么会出现这种情况。
import pandas
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-4-d6ac987968b6> in <module>()
----> 1 import pandas

ModuleNotFoundError: No module named 'pandas'

为什么Jupyter Notebook没有识别这些模块?
因此,Jupyter Notebook未将env显示为解释器。

enter image description here


1
在创建笔记本时,您是否也将您的 env 选择为笔记本 python 解释器? - Marcin Możejko
在右上角应该有一个“notebook”解释器。你能检查一下你的笔记本设置了哪一个吗? - Marcin Możejko
我选择了Python3。 - Baktaawar
是的,你说得对。我应该把tensorflow(这是环境名称)作为其中一个选项。但是我没有...这很奇怪。我以为如果你激活了conda环境,然后从那里打开jupyter笔记本,它应该显示该环境。但它没有。附上截图。 - Baktaawar
1
让我们在聊天中继续这个讨论 - Marcin Możejko
显示剩余2条评论
11个回答

55

我看了一下你的情况,以下是我的解决方案:

  1. 安装Anaconda
  2. 创建一个虚拟环境 - conda create -n tensorflow
  3. 进入虚拟环境 - (在macOS/Linux上:) source activate tensorflow (在Windows上: activate tensorflow)
  4. 在虚拟环境中安装tensorflow。你可以使用pip安装它。
  5. 完成安装

然后下一步是启动它:

  1. 如果你不在虚拟环境中,请输入 - Source Activate Tensorflow
  2. 然后再次在虚拟环境中安装Jupiter Notebook和Pandas库,因为这个虚拟环境中可能会缺少一些内容。

只需要在虚拟环境中键入以下内容:

  1. pip install jupyter notebook
  2. pip install pandas

然后你就可以启动jupyter notebook了:

  1. jupyter notebook
  2. 选择正确的终端python 3或2
  3. 然后导入这些模块

3
数据科学存在一些问题,人们如何在如此困难的环境下进入它? - Juan Boero
2
当你使用新技术时,就会发生这种情况。一旦事情稳定下来并建立了标准,那么它将只需要点击一个按钮即可完成。15年前,当CSS第一次出现时,在IE5/6和Netscape上实现一致性是一场完全的噩梦。 - Nelson
2
问题在于,构建这些东西的所有“码头人”从未让他们完全非技术的首席执行官亲自体验安装和设置过程,而他/她在整个过程中一直大喊着为什么如此复杂。 - djhallx

28

我相信,如果您有Anaconda,以下是适用于Mac的展示所有细节的短视频(对于Windows用户也非常相似)。只需打开Anaconda Navigator,一切都一样(几乎!)

https://www.youtube.com/watch?v=gDzAm25CORk

然后进入jupyter笔记本并编写代码。

!pip install tensorflow

然后

import tensorflow as tf

对我有用!:)


非常奇怪,这个可以工作。我认为这个问题只会在旧的 pip 安装包版本中出现,可能依赖于内核引用。 - bmbigbang
你好 @bmbigbang,可能是这种情况,但我也下载了新版本的pip,它表现出相同的奇怪行为,因此,我考虑将我的答案放在那个问题上。 - rsc05

10
  1. 安装Anaconda
  2. 运行Anaconda命令提示符
  3. 对于Windows,输入"activate tensorflow"
  4. 使用pip安装tensorflow
  5. 使用pip安装jupyter笔记本
  6. 输入jupyter notebook 命令

这是唯一对我有效的解决方法。尝试了7、8种不同的解决方案。使用的是Windows平台。


7
  1. install tensorflow by running these commands in anoconda shell or in console:

    conda create -n tensorflow python=3.5
    activate tensorflow
    conda install pandas matplotlib jupyter notebook scipy scikit-learn
    pip install tensorflow
    
  2. close the console and reopen it and type these commands:

    activate tensorflow 
    jupyter notebook 
    

2
我找到了一个相当简单的方法来做这件事。
首先,通过Anaconda Prompt,您可以按照Tensorflow官方网站上的步骤here进行操作。您必须按原样执行步骤,不能有任何偏差。
然后,您打开Anaconda Navigator。在Anaconda Navigator中,转到“Applications On”部分。选择下拉列表,在按照上述步骤后,您必须看到一个条目 - tensorflow。选择tensorflow并让环境加载。
接下来,在这个新的上下文中选择Jupyter Notebook,并安装它,等待安装完成。
之后,您就可以像在Tensorflow环境中一样运行Jupyter笔记本了。

2
我建议从您的基础环境启动Jupyter Lab/Notebook并选择正确的内核。 如何将conda环境添加到Jupyter Lab中应包含将内核添加到基础环境所需的信息。
免责声明:我在我链接的主题中提出了问题,但我认为它也回答了您的问题。

1

你需要为它添加一个“内核”。 运行你的环境:

>activate tensorflow

然后通过命令添加内核(在“--name”后面应跟随您的带有TensorFlow的环境):

>python -m ipykernel install --user --name tensorflow --display-name "TensorFlow-GPU"

之后从您的tensorflow环境中运行jupyter笔记本。

>jupyter notebook

然后你会看到以下内容输入图像描述

点击它,然后在笔记本中导入包。肯定会起作用。


1
尽管这个问题被问得很久了,因为我一直在搜索同样的问题,而且找不到现有的解决方案有用,所以我写下了解决我的问题的方法,希望对有同样问题的人有所帮助: 关键是,Jupyter 应该安装在你的虚拟环境中,也就是说,在激活 tensorflow 环境后,在命令提示符中运行以下命令(tensorflow 虚拟环境中):
conda install jupyter
jupyter notebook

然后Jupyter将弹出。

1

最好创建一个新环境并使用新名称($newenv):conda create -n $newenv tensorflow

然后在环境选项卡下,您可以在中间列中找到newenv。

点击播放按钮打开终端并输入:activate tensorflow

然后通过输入以下命令在newenv中安装tensorflow:pip install tensorflow

现在您已经在新环境中安装了tensorflow,接下来通过输入以下命令安装jupyter:pip install jupyter notebook

然后只需简单地输入:jupyter notebook以运行jupyter笔记本。

在jupyter笔记本中,键入:import tensorflow as tf

要测试tf,您可以使用此链接


1

对于在Windows 10上使用Anaconda的用户以及最近更新Anaconda环境的用户,TensorFlow可能会导致一些激活或初始化问题。以下是我探索并适用的解决方案:

  • 卸载当前的Anaconda环境并从C:\ Users或任何你安装它的地方删除与Anaconda相关的所有现有文件。
  • 下载Anaconda(https://www.anaconda.com/download/?lang=en-us#windows
  • 在安装时,选中“将Anaconda添加到我的PATH环境变量”
  • 安装完成后,打开Anaconda命令提示符,按以下步骤安装TensorFlow:
  • 通过调用以下命令创建名为tensorflow的conda环境:

    conda create -n tensorflow python=3.5 (即使你使用的是Python 3.6,也要使用此命令,因为TensorFlow将在以下步骤中升级)

  • 通过发出以下命令激活conda环境:

    activate tensorflow 这一步之后,命令提示符将更改为(tensorflow)

  • 激活后,使用以下命令升级tensorflow:

    pip install --ignore-installed --upgrade 现在您已成功安装了TensorFlow的CPU版本。

  • 关闭Anaconda命令提示符,然后再次打开并使用“activate tensorflow”命令激活tensorflow环境。
  • 在tensorflow环境中,使用以下命令安装以下库: pip install jupyter pip install keras pip install pandas pip install pandas-datareader pip install matplotlib pip install scipy pip install sklearn
  • 现在,您的tensorflow环境包含在深度学习中使用的所有常见库。
  • 恭喜,这些库将使您准备好构建深度神经网络。如果需要更多库,请使用相同的命令“pip install libraryname”进行安装。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接