【问题标题】:Can't import tensorflow, OSError: [WinError 193] %1 is not a valid Win32 application无法导入 tensorflow,OSError: [WinError 193] %1 不是有效的 Win32 应用程序
【发布时间】:2020-06-20 05:57:49
【问题描述】:

我正在尝试使用 anaconda 为 python (3.7) 安装 TensorFlow。 我已经安装了 Cuda 10.2 和匹配的 cndd 并将其安装在虚拟环境中:

pip install tensorflow==2.1.0

命令运行没有任何错误,但是当我尝试在 python 中导入它时,我得到:

    Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. 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>
  File "C:\Users\abual\Anaconda3\envs\ml1\lib\site-packages\tensorflow\__init__.py", line 101, in <module>
    from tensorflow_core import *
  File "C:\Users\abual\Anaconda3\envs\ml1\lib\site-packages\tensorflow_core\__init__.py", line 40, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 959, in _find_and_load_unlocked
  File "C:\Users\abual\Anaconda3\envs\ml1\lib\site-packages\tensorflow\__init__.py", line 50, in __getattr__
    module = self._load()
  File "C:\Users\abual\Anaconda3\envs\ml1\lib\site-packages\tensorflow\__init__.py", line 44, in _load
    module = _importlib.import_module(self.__name__)
  File "C:\Users\abual\Anaconda3\envs\ml1\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\abual\Anaconda3\envs\ml1\lib\site-packages\tensorflow_core\python\__init__.py", line 47, in <module>
    import numpy as np
  File "C:\Users\abual\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py", line 140, in <module>
    from . import _distributor_init
  File "C:\Users\abual\AppData\Roaming\Python\Python37\site-packages\numpy\_distributor_init.py", line 26, in <module>
    WinDLL(os.path.abspath(filename))
  File "C:\Users\abual\Anaconda3\envs\ml1\lib\ctypes\__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application
>>>

谁能帮我解决? 谢谢

【问题讨论】:

  • 也许您已经安装了 32 位 TensorFlow 软件包,而您的机器需要安装 64 位(反之亦然)?
  • 我做了pip install tensorflow==2.1.0,如何安装64位版本?
  • 实际上,在使用 python 3.8 创建另一个环境后,它确实对我有用,但我遇到了另一个问题,即当我尝试运行 tensorflow.Session() 时,我得到一个:AttributeError: module 'tensorflow' 没有属性 'Session'。

标签: python python-3.x tensorflow machine-learning artificial-intelligence


【解决方案1】:

关于你的第一个问题

问题可能是在 64 位机器上安装 32 位。请尝试安装 64 位 TensorFlow 版本 2.x。 请参考文档here

关于你的第二个问题

tf.Session() 是 1.x 版本,需要迁移到 2.1。 你可以阅读关于迁移here

请参考下面的示例代码

# Using the `close()` method.
sess = tf.compat.v1.Session()
sess.run(...)
sess.close() 

【讨论】:

    猜你喜欢
    • 2014-10-28
    • 2019-11-23
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 2021-05-04
    相关资源
    最近更新 更多