微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 tensorflow 需要 VC++ 而 numpy 不需要?

如何解决为什么 tensorflow 需要 VC++ 而 numpy 不需要?

这听起来可能很愚蠢,但在 Python 工作了这么多年之后,我想了解为什么 numpy 被安装,而 tensorflow 要求在 Windows 中安装 Microsoft VC++。常识说两者都是用 C++ 编写的。那为什么前面的包安装没有问题,而后面的包需要VC++呢?

解决方法

VC++ 要求自 2.1 版起就存在。 release notes of the version 2.1 声明:

Windows 用户: 正式发布的 tensorflow Pip 包现在 使用 Visual Studio 2019 版本 16.4 构建以利用 新的 /d2ReducedOptimizeHugeFunctions 编译器标志。要使用这些 新软件包,您必须安装“Microsoft Visual C++ Redistributable 适用于 Visual Studio 2015、2017 和 2019”,可从 Microsoft 网站在这里。

  • 这不会更改在 Windows 上从源代码构建 TensorFlow 所需的最低版本,而是构建启用 如果没有这个,EIGEN_STRONG_INLINE 可能需要超过 48 小时才能编译 旗帜。有关更多信息,请参阅 configure.py EIGEN_STRONG_INLINE 和 /d2ReducedOptimizeHugeFunctions。
  • 如果您的计算机上缺少所需的 DLL,msvcp140.dll(旧)或 msvcp140_1.dll(新),请导入 tensorflow 将打印一条警告消息。

此更改使 Windows tensorflow 包依赖于某些在 Windows 机器上默认不可用的 C++ API。您可以阅读有关该问题的更多信息:Why does my application require Visual C++ Redistributable package

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。