【深度学习代码调试1】环境配置篇 -- 安装TensorFlow和PyTorch
- 写在最前面
- 1. 创建新的Conda环境
- 2. 安装PyTorch及相关库(可以直接跳到2.3安装方法)
- 2.1 检查CUDA版本
- 2.2 解决安装过程中常见问题
- 2.2.1 超时问题(这个不是最终解决方案,会存在问题,详见2.2.2,解决方案见2.3)
- 2.2.2 CUDA版本不兼容
- 2.3 尝试解决方案2:更新CUDA版本并匹配对应的PyTorch版本
- 2.3.1 基于Conda安装PyTorch时的注意事项
- 2.3.2 移除国内的自定义源
- 2.3.3 验证默认源配置
- 2.3.4 安装更新后的PyTorch
- 2.3.5 验证安装结果
- 3. 结语
写在最前面
版权声明:本文为原创,遵循 CC 4.0 BY-SA 协议。转载请注明出处。
经历了一周的环境配置和代码调试,终于将整个项目跑通。感谢杨学长、栗学长、聂学长以及申申的指导和帮助。
为了帮助自己和其他需要配置环境的朋友,特此总结记录一些常见的问题与解决方案。
在深度学习项目中,环境配置是关键的一步,尤其是需要同时安装TensorFlow和PyTorch等框架时,可能会遇到各种问题。
本文将详细记录本次安装过程中遇到的问题及解决方案,以供大家参考。
关键词:Conda环境,TensorFlow安装,PyTorch安装,CUDA版本不兼容,protobuf冲突
1. 创建新的Conda环境
首先,我们使用Conda来创建一个新的虚拟环境并激活它:
conda create -n vpt_env python=3.7
conda activate vpt_env
2. 安装PyTorch及相关库(可以直接跳到2.3安装方法)
在这个新环境中,我们需要安装指定版本的PyTorch、Torchvision、Torchaudio和CUDA工具包。
(安利方法:移除所有国内源,使用默认源)感谢:https://blog.csdn.net/qq_41889538/article/details/136237706
2.1 检查CUDA版本
官网:https://pytorch.org/get-started/previous-versions/
在安装PyTorch前,先检查系统的CUDA版本:
nvcc --version
根据系统的CUDA版本,选择合适的PyTorch版本。在我的项目中,我使用了CUDA 10.1,并通过以下命令安装对应版本的PyTorch:
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
2.2 解决安装过程中常见问题
2.2.1 超时问题(这个不是最终解决方案,会存在问题,详见2.2.2,解决方案见2.3)
由于网络问题,安装时可能会遇到超时错误。这时,可以考虑使用国内镜像源,比如清华源来加速下载:
pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
该方式下载,PyTorch 的某些版本不再以 +cuXXX 形式发布或托管。
Could not fetch URL https://download.pytorch.org/whl/torch_stable.html: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='download.pytorch.org', port=443): Max retries exceeded with url: /whl/torch_stable.html (Caused by SSLError(CertificateError("hostname 'download.pytorch.org' doesn't match either of '*.onedns.net', 'onedns.net'"))) - skipping ERROR: Could not find a version that satisfies the requirement torch==1.7.1+cu101 (from versions: 1.0.0, 1.0.1, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.10.2, 1.11.0, 1.12.0, 1.12.1, 1.13.0, 1.13.1) ERROR: No matching distribution found for torch==1.7.1+cu101
2.2.2 CUDA版本不兼容
安装完成后,运行测试代码时可能会遇到以下错误:
RuntimeError: CUDA error: no kernel image is available for execution on the device
此错误通常是由于CUDA版本与显卡不兼容引起的。在我的项目中,我使用的是NVIDIA GeForce RTX 3090,该显卡的CUDA算力要求PyTorch安装的CUDA版本必须支持sm_86
。然而,当前安装的PyTorch并不支持3090的CUDA能力,错误信息如下:
NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
解决方案:更新CUDA版本,再匹配对应的PyTorch版本即可。对于RTX 3090,可以安装CUDA 11版本的PyTorch。
2.3 尝试解决方案2:更新CUDA版本并匹配对应的PyTorch版本
在发现当前安装的CUDA版本与显卡不兼容后,我们需要更新CUDA版本,并安装与之匹配的PyTorch版本。
2.3.1 基于Conda安装PyTorch时的注意事项
在使用Conda安装PyTorch时,建议优先使用默认的Conda源,因为它通常是最稳定、最可靠的。如果遇到安装失败的问题,可以考虑切换其他官方认可的源。
以下是具体的操作步骤:
2.3.2 移除国内的自定义源
如果之前添加了非官方源(如清华大学镜像源),可能会导致安装冲突或失败。为了解决这个问题,我们首先需要移除所有自定义的频道设置:
conda config --remove-key channels
这将从Conda配置中移除所有自定义的频道设置,使Conda恢复为默认配置。
2.3.3 验证默认源配置
运行以下命令检查Conda的频道配置,确保默认源已被正确添加:
conda config --show channels
此命令会列出当前使用的镜像源,确保默认源(如defaults
)已被正确设置。
2.3.4 安装更新后的PyTorch
进入Conda虚拟环境后,使用默认源重新安装PyTorch。此过程可能需要一定时间,但稳定性较高:
conda install pytorch torchvision torchaudio cudatoolkit=11.x -c pytorch
这里的cudatoolkit=11.x
根据你的显卡CUDA版本选择合适的CUDA工具包版本。
2.3.5 验证安装结果
安装完成后,可以通过以下命令进入Python解释器,并检查PyTorch是否安装成功:
import torch
print(torch.__version__) # 检查PyTorch版本
print(torch.cuda.is_available()) # 检查CUDA是否可用
print(torch.cuda.device_count()) # 查看GPU数量
确保返回的CUDA状态为True
,并能正确显示GPU数量,表明PyTorch已经成功安装并可以利用GPU加速。
通过这一系列步骤,我们成功更新了CUDA版本,并重新安装了与显卡兼容的PyTorch版本。
3. 结语
安装深度学习框架时,常常会遇到版本不兼容、依赖库冲突等问题。通过合理选择安装源、升级相关库,通常可以解决大部分问题。
希望本文的记录能帮助大家顺利完成环境配置,并避免常见的坑。
hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。
欢迎大家添加好友交流。