如何在Spyder上使用TensorFlow?

11

我是一个新手,想要使用tensorflow。我认为我已经通过Anaconda成功地在我的Mac OSX上安装了tensorflow。但是我还不知道如何在Spyder上使用tensorflow。是否有人可以帮帮我?非常感谢!


你能先尝试在命令行中运行 TensorFlow(示例)吗? - Sung Kim
我可以在Python中运行TensorFlow。但在Spyder界面中,它无法工作。 - Oscar
8个回答

17

系统默认的Python可能用于命令行,首先要验证您是否使用的是Anaconda发行版中的Python。先设置环境变量。

如果您不需要使用GPU支持构建TensorFlow,则可以通过一个命令在Conda中安装TensorFlow。

$ conda install -c https://conda.anaconda.org/jjhelmus tensorflow

在Spyder中:导入tensorflow as tf,然后就可以了。


1
哇!这真的起作用了,尽管我不明白为什么它能工作,而且如果我按照官方网站上的安装指南操作,它就无法工作。你能给我一些原因吗? - Oscar
@Oscar Python已经预装在Mac OS X上,因此当您安装Anaconda发行版时,它可能不会更改路径到Anaconda的Python。 通过pip安装tensorflow时,您可能无法在Anaconda Python中看到它。 pip和conda(Anaconda的软件包管理器)不能很好地协同工作。最好的方法是构建一个conda软件包,并通过conda进行安装。 - Irtaza

6

在根据Windows上安装Tensorflow的指示使用Anaconda安装完Tensorflow后,您需要更改Spyder环境。

1)打开Anaconda Navigator。

2)在左上角,您会看到选择器:“应用程序:base(root)”。

3)更改为“Tensorflow”,假设它已经根据上面的链接安装好了。

4)安装Spyder。

5)打开Spyder并创建您的第一个测试文件:

 010 import tensorflow as tf

 020 hello = tf.constant('Hello, TensorFlow!')

 030 sess = tf.Session()

 040 print(sess.run(hello))

6) 在Spyder中运行它,它将能够工作。


2

我在IPython和命令行中都运行过TensorFlow。如果您已经成功安装了TensorFlow,请通过输入以下命令来查找搜索路径:

import sys
print (sys.path)

在Spyder IPython控制台中执行相同的操作,您可能会得到不同的答案。 现在将鼠标拖动到TensorFlow工作路径上并复制它。使用以下命令启动程序:
import sys
sys.path = [ path cut from ipython window]

例如,我的命令行与工作的tensorflow路径如下:
['', '/home/gaw/anaconda3/envs/tensorflow/lib/python35.zip', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/plat-linux', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/lib-dynload', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/site-packages', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg']

我的 Spyder 窗口中,TensorFlow 无法工作的路径如下:

sys.path = ['', '/home/gaw/anaconda3/envs/tensorflow/lib/python35.zip', '/home/gaw/anaconda3/envs/tensorflow/lib/python3.5', '/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/plat-linux', '/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/lib-dynload', '/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/site-packages', '/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg']

在Spyder中,我输入了:
sys.path = ['', '/home/gaw/anaconda3/envs/tensorflow/lib/python35.zip', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/plat-linux', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/lib-dynload', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/site-packages', \
'/home/gaw/anaconda3/envs/tensorflow/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg']

将Spyder中的路径设置为与有效路径相同的值。


我曾经遇到过同样的问题,你所描述的正是Spyder无法找到tensorflow包的原因。我的解决方法是使用Spyder工具选项卡下的PYTHONPATH管理器,添加tensorflow包安装的目录并点击同步按钮。然后重新启动ipython控制台,就可以正常在Spyder中导入tensorflow了,没有任何问题。 - rort1989

1

1

您可以尝试这样做:

conda install -c huggingface transformers

(否则所有预构建模型(如bert)将无法使用)

您需要的信息在这里:https://pypi.org/project/transformers/


这与在Spyder上使用TensorFlow有什么关系? - ARAT

0

在我的情况下,我已经在Ubuntu 18.04.02上安装了Python 3.6和Spyder 3。

  1. 我将Spyder3设置为使用自定义的Python解释器

请使用以下Python解释器:

/usr/bin/python3

  1. 然后我通过终端安装了Python3.x的TensorFlow

pip3 install tensorflow

  1. 测试一下 启动spyder3并导入进行测试

import tensorflow as tf

print(tf.version)


0

我的回答假设你正在使用Python虚拟环境。

当在虚拟环境中使用Spyder时,我遇到了一些问题--无法导入TensorFlow。

TensorFlow已安装但无法在从Spyder中运行的代码中导入。

要在您的虚拟Python环境中正确配置系统(安装Tensorflow),请考虑Oussema Aroua在此处建议的内容:

如何在虚拟环境中运行Spyder?

实际在Spyder中运行Tensorflow程序时还会出现一些其他问题。

例如,即使TF程序从Spyder中运行并完成,TensorFlow的运行时仍然继续运行。(这是一个Spyder+TF问题。)这会导致一些有趣的结果。例如,RNN单元及其命名空间可能不会被清除。我尚未从笔记本电脑中进行过测试,但我认为您也会遇到类似的问题。


0

我认为在Spyder上运行Tensorflow最简单的方法是在Anaconda下特定条件下加载Spyder,具体如下:

  1. 通过anaconda cmd安装Tensorflow: enter image description here

  2. 将通道上的应用程序从base改变为Tensorflow enter image description here

  3. 完成所有自动安装后,载入Spyder,导入时Tensorflow应该可以工作。

enter image description here


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