当前位置: 首页 > article >正文

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

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


请添加图片描述

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

写在最前面

版权声明:本文为原创,遵循 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欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。

欢迎大家添加好友交流。


http://www.kler.cn/news/350716.html

相关文章:

  • 【贪心算法】(第十四篇)
  • C++面向对象编程学习
  • Java进阶篇设计模式之一 ----- 单例模式
  • vue3 选中对话框时,对话框右侧出一个箭头
  • GD32学习知识点累计
  • self-supervised learning(BERT和GPT)
  • 大模型量化算法之Smoothquant
  • GCC(GNU Compiler Collection)部分参数解释
  • 网站设计之网站设计总结
  • 深度学习:模型攻击(Model Attack)详解
  • 计算机网络——应用层(DNS域名系统、文件传输协议FTP、远程终端协议TELNET、万维网)
  • 数据库->库的操作
  • CCleaner Pro v6.29.11342 系统清理优化软件绿色便携版
  • 如何匿名浏览网站,保护在线隐私?
  • Canmv k230 C++案例1.2——image classify项目 C++代码分析(待完成)
  • 网络安全公司及其主要产品介绍
  • Django CORS跨域支持
  • 基于Python的博客系统
  • Android10 recent键相关总结
  • Spring Boot框架下大创项目流程自动化
  • 【论文阅读】03-Diffusion Models and Representation Learning: A Survey
  • C++ | Leetcode C++题解之第486题预测赢家
  • Android activity 启动流程
  • 指针——函数指针数组
  • 计算机网络 2024 11 10
  • windows上的git bash中会将~设为哪个目录?