使用Conda安装Tensorflow 1.15 + CUDA + cuDNN

10
我正在尝试使用Conda安装tensorflow-gpu 1.15以便轻松安装CUDA和cuDNN。问题在于,根据官方网站的兼容性表,我需要python 3.6、CUDA 10.0和cuDNN 7.4。通过conda search cudnn搜索Conda rep,结果显示没有cuDNN 7.4。是否有其他方法可以安装所需的软件包?或者,tensorflow 1.15是否也适用于其他版本组合?顺便提一下,python 3.6、tensorflow-gpu 1.15和CUDA 10可以正确安装,但似乎没有cuDNN无法正确使用GPU。我最近才开始使用Conda,可能有一种直接的方法可以做到这一点,但我没有意识到。我的Conda版本是4.9.1(miniconda版本)。---更新---:仅供参考,我在尝试conda create -n myenv -c conda-forge tensorflow-gpu=1.15时出现了错误。
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                                                                                        

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package _tflow_select conflicts for:
_tflow_select==2.1.0=gpu
tensorflow==1.15.0 -> _tflow_select[version='2.1.0|2.3.0|2.2.0',build='gpu|mkl|eigen']
Note that strict channel priority may have removed packages required for satisfiability.
3个回答

20

我不确定那是否是问题所在,但我是按以下方式安装的

conda create -n tensorflow1.15 python=3.5
conda activate tensorflow1.15
conda install cudatoolkit=10.0
conda install cudnn=7.3.1
pip3 install tensorflow-gpu==1.15

似乎它在GPU上运行得非常完美。我不知道cuDNN 7.3.1像7.4一样工作。最好的方法是使用conda安装tensorflow,但它给了我一个错误,试图安装tensorflow-gpu=2.X。

另外也许有趣的是,您可以使用conda search -c nvidia <packageName>搜索CUDA和类似的官方安装程序。


以上的安装步骤在使用deeplabv3训练模型时出现错误。 错误信息为"failed-to-get-convolution-algorithm-this-is-probably-because-cudnn-failed"。 这种情况通常是由于cudnn不兼容所致。 请更新以下内容:conda create -n tensorflow1.15 python=3.5 conda activate tensorflow1.15 conda install cudatoolkit=10.0 conda install cudnn=7.6.0 pip3 install tensorflow-gpu==1.15 - Arjun

7

我会让conda通过在conda中安装tensorflow来处理所有依赖关系,而不是使用pip。 GPU版的tensorflow可以在流行的conda-forge通道中找到:

conda create -n myenv -c conda-forge tensorflow-gpu=1.15

我尝试过了,但是它弹出了 UnsatisfiableError: The following specifications were found to be incompatible with each other。也许是我的操作系统的问题吗?我使用的是Ubuntu 20 LTS。我还听说一些用户在使用Python 3.6时遇到了问题。 - Aurelie Navir
嗯,奇怪。我刚在Ubuntu 20.04上尝试了一下,它在这里运行了。你是输入了与上面完全相同的命令行吗? - P-Gn
1
如果由于某种原因您的conda建议安装3.6,则可以考虑安装另一个Python版本。例如:conda create -n myenv -c conda-forge tensorflow-gpu=1.15 python=3.7 - P-Gn
哦,谢谢。我把确切的错误也添加到问题中,以防解决起来很简单。我还尝试了添加python=3.5或python=3.7,但输出的错误相同。 - Aurelie Navir
channels: conda-forge and defaults - Aurelie Navir

3

TensorFlow1.15的最佳设置是参照这里的指南:https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/tensorflow-1.14/install.html#tf-install

建议安装CUDA 10.0cudNN 7.6.5版本。

注意安装的protobuf版本,如果你使用gpu版本,它将安装protobuf 4.21.1,但你需要用以下命令重写它:pip install --upgrade tensorflow-gpu==1.15 "protobuf<4.0"

如果你使用CPU版本,建议使用这个版本:(https://github.com/protocolbuffers/protobuf/releases/tag/v3.4.0),以避免错误。只需下载protoc-3.4.0-win32.zip (windows)即可。

希望这可以帮到你。


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