【深度学习代码调试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. 结语



【深度学习代码调试1】环境配置篇(上) -- 安装PyTorch(安利方法:移除所有国内源,使用默认源)_pytorch


🌈你好呀!我是 是Yu欸

🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!


写在最前面


经历了一周的环境配置和代码调试,终于将整个项目跑通。感谢杨学长、栗学长、聂学长以及申申的指导和帮助。

为了帮助自己和其他需要配置环境的朋友,特此总结记录一些常见的问题与解决方案。

【深度学习代码调试1】环境配置篇(上) -- 安装PyTorch(安利方法:移除所有国内源,使用默认源)_python_02

在深度学习项目中,环境配置是关键的一步,尤其是需要同时安装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工具包。

(安利方法:移除所有国内源,使用默认源)感谢:

2.1 检查CUDA版本

官网:https://pytorch.org/get-started/previous-versions/

在安装PyTorch前,先检查系统的CUDA版本:

nvcc --version

【深度学习代码调试1】环境配置篇(上) -- 安装PyTorch(安利方法:移除所有国内源,使用默认源)_python_03

根据系统的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)

【深度学习代码调试1】环境配置篇(上) -- 安装PyTorch(安利方法:移除所有国内源,使用默认源)_深度学习_04

由于网络问题,安装时可能会遇到超时错误。这时,可以考虑使用国内镜像源,比如清华源来加速下载:

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. 结语

安装深度学习框架时,常常会遇到版本不兼容、依赖库冲突等问题。通过合理选择安装源、升级相关库,通常可以解决大部分问题。

希望本文的记录能帮助大家顺利完成环境配置,并避免常见的坑。