在 windows anaconda 中安装 tensorflow - 并使用 Spyder GUI 运行它

Posted

技术标签:

【中文标题】在 windows anaconda 中安装 tensorflow - 并使用 Spyder GUI 运行它【英文标题】:installing tensorflow in windows anaconda - and running using it using Spyder GUI 【发布时间】:2017-12-26 18:02:22 【问题描述】:

我访问了the tensorflow page 并按照Installing with Anaconda 部分的说明进行操作。当我尝试验证我的安装时,出现以下错误

(C:\ProgramData\Anaconda3) C:\Users\nik>python
Python 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'tensorflow'
>>> hello = tf.constant('Hello, TensorFlow!')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tf' is not defined
>>> exit
Use exit() or Ctrl-Z plus Return to exit
>>> exit()

然后我尝试了

(C:\ProgramData\Anaconda3) C:\Users\nik>activate tensorflow

(tensorflow) C:\Users\nik>pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.2.1-cp35-cp35m-win_amd64.whl
Collecting tensorflow==1.2.1 from https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.2.1-cp35-cp35m-win_amd64.whl
  Using cached https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.2.1-cp35-cp35m-win_amd64.whl
Collecting bleach==1.5.0 (from tensorflow==1.2.1)
  Using cached bleach-1.5.0-py2.py3-none-any.whl
Collecting html5lib==0.9999999 (from tensorflow==1.2.1)
Collecting backports.weakref==1.0rc1 (from tensorflow==1.2.1)
  Using cached backports.weakref-1.0rc1-py3-none-any.whl
Collecting werkzeug>=0.11.10 (from tensorflow==1.2.1)
  Using cached Werkzeug-0.12.2-py2.py3-none-any.whl
Collecting markdown>=2.6.8 (from tensorflow==1.2.1)
Collecting protobuf>=3.2.0 (from tensorflow==1.2.1)
Collecting numpy>=1.11.0 (from tensorflow==1.2.1)
  Using cached numpy-1.13.1-cp35-none-win_amd64.whl
Collecting six>=1.10.0 (from tensorflow==1.2.1)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting wheel>=0.26 (from tensorflow==1.2.1)
  Using cached wheel-0.29.0-py2.py3-none-any.whl
Collecting setuptools (from protobuf>=3.2.0->tensorflow==1.2.1)
  Using cached setuptools-36.2.0-py2.py3-none-any.whl
Installing collected packages: six, html5lib, bleach, backports.weakref, werkzeug, markdown, setuptools, protobuf, numpy, wheel, tensorflow
Successfully installed backports.weakref-1.0rc1 bleach-1.5.0 html5lib-0.9999999 markdown-2.6.8 numpy-1.13.1 protobuf-3.3.0 setuptools-36.2.0 six-1.10.0 tensorflow-1.2.1 werkzeug-0.12.2 wheel-0.29.0

(tensorflow) C:\Users\nik>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
2017-07-20 12:20:26.177654: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
2017-07-20 12:20:26.178276: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-20 12:20:26.178687: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-20 12:20:26.179189: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-20 12:20:26.179713: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-20 12:20:26.180250: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-07-20 12:20:26.180687: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-20 12:20:26.181092: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
>>> print(sess.run(hello))
b'Hello, TensorFlow!'

我的问题如下 - 我的主要问题是问题 3:

    我想在输入命令后验证安装 - activate tensorflow 如上面第二个命令块所示? 为什么我收到多条指令后 命令sess = tf.Session() ?

    我可以在 蜘蛛侠?如何?我在下面尝试过,但在 SPYDER gui 中,但没有成功:(

    激活张量流

文件“”,第 1 行

    activate tensorflow
                      ^

SyntaxError: invalid syntax


import tensorflow as tf

Traceback (most recent call last):


  File "<ipython-input-2-41389fad42b5>", line 1, in <module>
    import tensorflow as tf


ModuleNotFoundError: No module named 'tensorflow'

【问题讨论】:

activate 不是 python 命令。这是一个shell脚本。要使用tensorflow,请在tensorflow 环境中使用python 我还是不清楚。请再次解释我如何在 spyder gui 中使用 tensorflow 您有多个anaconda 环境,其中两个名为roottensorflow。如果您知道安装 anaconda 的位置,则环境将位于 envs/ 子目录中,而您需要的 python 位于 envs/tensorflow/bin/python 中。 conda env list 将列出您的所有环境。 目前还不清楚。我去了.conda 文件夹,我有一个名为enviroments 的文件,它有C:\Users\nik\AppData\Local\conda\conda\envs\tensorflow。我需要在这里添加一些东西吗? 有了这些信息,你需要的python是C:\Users\nik\AppData\Local\conda\conda\envs\tensorflow\bin\python 【参考方案1】:

Q1:是的,您需要激活虚拟环境才能导入 tensorflow,因为您已经在虚拟环境中安装了 tensorflow。

Q2:不知道为什么会有多条指令,但这是正常的,并且是内置在 tensorflow 中的。您可以通过启用 SIMD 指令自己构建 tensorflow 来避免这些问题。 https://www.youtube.com/watch?v=ghv5fbC287o

Q3:创建虚拟环境的第一步需要改变。使用以下命令 conda create -n tensorflow python=3.5 anaconda 创建虚拟环境。

您的 Q3 的详细答案如下:

    使用“conda create -n tensorflow python=3.5 anaconda”创建 tensorflow 环境

    创建虚拟环境后,输入命令“activate tensorflow”

    现在使用“pip install tensorflow”(仅限 CPU)或 pip install tensorflow-gpu(用于 GPU)安装 tensorflow。

    现在转到安装 anaconda 的文件夹。

    如果 C:\ProgramData\Anaconda3 是 Anaconda 根文件夹,则转到“C:\ProgramData\Anaconda3\envs\test\Scripts”并打开 spyder.exe。你应该可以在这个环境下成功导入 tensorflow。

【讨论】:

我已经使用我的问题中提到的链接安装了 tensorflow。我输入了命令conda create -n tensorflow python=3.5 ,然后输入了pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.2.1-cp35-cp35m-win_amd64.whl。我需要重复步骤 1,2 和 3 吗?我会在哪里运行 1 和 2 - 在 anaconda 提示符下? 我在 anaconda promopt 中尝试了conda create -n tensorflow python=3.5 anaconda 并收到了消息CondaValueError: prefix already exists: C:\Users\nikh\AppData\Local\conda\conda\envs\tensorflow。我继续输入activate tensorflow,然后输入python,然后`import tensorflow as tf`,一切都在anaconda提示符下顺利进行。但我仍然无法在 spyder 中运行 tensorflow 在创建同名之前,需要先删除之前的conda环境。您收到错误是因为您已经有一个名为 tensorflow 的环境。您可以通过 conda remove --all tensorflow 删除环境,如果您不想删除环境,则创建一个具有不同名称的新环境,conda create -n tensorflowspyder python=3.5 anaconda。 在执行完步骤 1 到 5 之后,我能够从 spyder 运行 tensorflow。我使用命令 pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensor‌​flow-1.2.1-cp35-cp35‌​m-win_amd64.whl 安装了 tensorflow。请将您的 cmets 添加到答案中,以便我可以奖励您的赏金。可以回答以下问题吗? 1)您给出的创建语句与我使用的语句有什么区别。为什么你的陈述有效 2)你的 pip install 命令和我用过的有什么区别 3) 要在 spyder 中使用 tensorflow,我是否必须始终使用显示 spyder (tensorflowspyder) 的快捷方式 4) 我应该如何关闭 python/spyder?从 anaconda 提示符停用 tensorflowspyder 后,我应该注销吗?【参考方案2】:

您应该从命令提示符激活您的虚拟环境。激活后,您应该运行命令spyder这将从您的虚拟环境中打开 spyder gui

【讨论】:

【参考方案3】:

问题是您的 tensorflow 安装在 conda 环境中。因此,首先以管理员身份打开 conda 提示符,然后通过键入“activate tensorflow”激活 tensorflow 环境,然后通过键入 spyder 打开你的 spyder gui。主要是解决问题。

【讨论】:

以上是关于在 windows anaconda 中安装 tensorflow - 并使用 Spyder GUI 运行它的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows 10 版本中安装 keras 或 tensorflow - Anaconda

如何在 Windows 上的 Anaconda Python 中安装 Keras 和 Theano?

在 windows anaconda 中安装 tensorflow - 并使用 Spyder GUI 运行它

在 Anaconda 中安装 Kivy

在Windows anaconda中安装tensorflow - 并使用Spyder GUI运行它

我想在 anaconda 中安装 tensorflow,但它显示错误: