小能豆

在 Jupyter Notebook 中运行 Tensorflow

py

我正在尝试做一些深度学习的工作。为此,我首先在 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 笔记本不显示 env 作为解释器

whyaq.png


阅读 14

收藏
2024-11-10

共1个答案

小能豆

您的问题可能是由于 Jupyter Notebook 没有使用您创建的 tensorflow 环境作为内核。以下步骤可以帮助解决此问题:

1. 确保 Jupyter Notebook 安装在 tensorflow 环境中

首先,确保在 tensorflow 环境中已经安装了 Jupyter Notebook。可以在 tensorflow 环境中运行以下命令以安装 Jupyter Notebook:

(tensorflow) $ conda install jupyter

2. 安装 ipykernel 并将环境添加为 Jupyter 内核

为了让 Jupyter Notebook 识别 tensorflow 环境,您需要安装 ipykernel,并将该环境添加为 Jupyter Notebook 的内核。可以通过以下命令完成此操作:

(tensorflow) $ python -m ipykernel install --user --name tensorflow --display-name "Python (tensorflow)"

此命令会将 tensorflow 环境添加为 Jupyter 内核选项,display-name 为 “Python (tensorflow)”。这样,您可以在 Jupyter Notebook 中选择该环境作为内核。

3. 在 Jupyter Notebook 中选择新内核

重新启动 Jupyter Notebook:

(tensorflow) $ jupyter notebook

打开笔记本后,点击 Kernel -> Change Kernel,然后选择 "Python (tensorflow)"。这会使 Jupyter Notebook 使用 tensorflow 环境中的库和 Python 解释器。

4. 验证

在新的笔记本单元格中运行以下代码以验证:

import pandas as pd
import tensorflow as tf
print("Pandas version:", pd.__version__)
print("TensorFlow version:", tf.__version__)

如果成功,则会显示 Pandas 和 TensorFlow 的版本信息。这样应该可以解决您的问题。

2024-11-10