繁体   English   中英

为什么 Anaconda 为带 GPU 和不带 GPU 的 Tensorflow 提供单独的软件包,我应该使用 conda 还是 pip?

[英]Why Anaconda has separate packages for Tensorflow with and without GPU, and should I use conda or pip?

Anaconda为 Tensorflow 提供了不同的包,有和没有 GPU 支持。

特别是,要使用 GPU 安装 Tensorflow,您应该运行:

conda install tensorflow-gpu

对于非 GPU 版本,您应该安装:

conda install tensorflow

通过检查安装包的版本,conda 安装了 Tensorflow 2.1 版。

但截至今天,Tensorflow 的最新版本是 2.3。 此外,正如在Tensorflow 官方文档中所见,最新版本可以安装

pip install tensorflow

文档中说这个包对 Tensorflow 的 CPU 和 GPU 版本都很好。 此外,文档指出 CPU 和 GPU 的包对于“1.15 及更早版本”是不同的。

  1. 为什么 Anaconda 在两个不同的包中提供 2.1,因为对于任何大于 1.15 的版本,包都应该是相同的?

  2. 我应该安装哪一个,pip 版本还是 conda 版本? Anaconda 博客中的一篇文章指出 conda 提供的版本更快,但文章较旧(2018 年),并引用了旧版本的 Tensorflow(1.10)

通过检查安装包的版本,conda 安装了 Tensorflow 2.1 版。 但截至今天,Tensorflow 的最新版本是 2.3。 此外

那只是因为您(可能?)在 Windows 上。 正如您在此处看到的 tensorflow可从conda默认通道以 2.3 的形式使用,但目前仅在 linux 上可用。

链接的网站上也说明了原因(重点是我的):

Anaconda 为我们努力使用出色的 TensorFlow 库提供更简单、更快的体验而感到自豪。 添加对生产中使用的许多平台的支持并确保加速代码仍然稳定且数学上正确需要花费大量时间和精力。 因此,我们的 TensorFlow 软件包可能无法与官方 TensorFlow 轮子同时使用 但是,我们致力于维护我们的 TensorFlow 软件包,并努力尽快提供更新。

简而言之:Anaconda 团队正在针对 intel mkl 库创建 tf 的自定义构建,以加快 CPU 上的计算。 早些时候在同一网站上,他们还提到他们为不同的 cuda 版本创建了构建。

为什么 Anaconda 在两个不同的包中提供 2.1,因为对于任何大于 1.15 的版本,包都应该是相同的?

tensorflow-gpu包只是一个元包,即它仅用于安装具有不同依赖项的不同构建的tensorflow (也使您能够安装不同的 cuda 版本)。 官方版本只允许 tensorflow 版本和 cuda 的组合

我应该安装哪一个,pip 版本还是 conda 版本? Anaconda 博客中的一篇文章指出 conda 提供的版本更快,但文章较旧(2018 年),并引用了旧版本的 Tensorflow(1.10)

阅读上述文章,加速与针对 intel mkl 库的构建有关,该库可加速 CPU 上的计算。 鉴于您的设置,你只能得到tensorflow使用时安装2.1 conda ,你需要问自己,如果你依靠最新tensorflow版本,如果你不需要加速CPU代码。 使用pip安装最新的 tensorflow 通常没有问题。 只需确保为所述 tensorflow 版本创建一个新环境,并且仅在该环境中使用pip安装/更新 tensorflow 或其任何依赖项。 一般建议不要过多地混合condapip安装,因为一个可能会破坏另一个(因为它们使用不同的方法来解决依赖关系),但是使用单独的 env 时应该没问题

如果您使用的是 Anaconda,那么您可以使用 conda 来安装 tensorflow。 对于 cpu 版本,输入

conda install tensorflow
for the gpu version enter
conda install tensorflow-gpu.

如果您使用的是 Windows,它将安装 2.1.0 版、cuda 工具包 10.1.243 版和 cudnn 7.6.5 版。 注意 conda 只能在 Windows 操作系统上安装最高版本 2.1.0 的 tensorflow。 如果您想要 tensorflow 2.2.0 或 2.3.0,请在安装 2.1 后使用 pip 使用 pip 安装它。 cuda 工具包和 cudnn 适用于 2.2 和 2.3 版。 另一件事。 使用 python3.7 而不是 3.8。 显然,当您使用 conda 安装 tensorflow 时,它不适用于 3.8。 如果您使用 pip 安装 tensorflow 2.1 或更高版本,它包括 cpu 和 gpu 版本,但是您必须通过手动过程来安装 Cuda Toolkit 和 cudnn。 这包括从 NVIDIA 下载文件。 您还必须更改 PATH 环境变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM