深度学习环境配置超详细教程【Anaconda+Pycharm+PyTorch(GPU版)+CUDA+cuDNN】

 

在宇宙的浩瀚中,我们是微不足道的,但我们的思维却可以触及无尽的边界。 



目录

关于Anaconda:

关于Pycharm:

关于Pytorch:

关于CUDA:

关于Cudnn:

一、🌎前言:

二、🔖Anaconda安装

三、🔖Pycharm安装

四、🔖CUDA安装

1、查看NVDIA显卡型号

2、判断自己应该下载什么版本的cuda

3、安装CUDA11.2 CUDA toolkit Download

五、🔖Cudnn安装

1、cuDNN下载

2、Cudnn配置

3、添加环境变量

 六、🔖Pytorch安装

1、pytorch安装(gpu版本和cpu版本的安装)

 2、验证配置是否成功

🥇Summary

获取源码?私信?关注?点赞?收藏?WeChat?


关于Anaconda:

Anaconda是一个专门为Python数据科学而设计的一组软件包,它涵盖了数据科学领域常见的Python库,并且自带了专门用来解决软件环境依赖问题的conda包管理系统。Anaconda提供了一个完整的Python发行版,预装了conda、某个版本的Python、众多软件包、科学计算工具等等。

具体来说,Anaconda具有以下特点:

  1. 包管理与环境管理:Anaconda利用conda来进行package和environment的管理,可以很方便地解决多版本Python并存、切换以及各种第三方包安装问题。
  2. 包含多个科学包:Anaconda包含了180多个科学包及其依赖项,这些包涵盖了数据科学、机器学习、数据分析等多个领域。
  3. 易于使用:Anaconda的安装和使用非常简单,用户可以通过简单的命令来安装和管理软件包和环境。
  4. 社区支持:Anaconda拥有庞大的用户社区,用户可以轻松找到其他用户在使用过程中的问题并获得帮助。

总的来说,Anaconda是一个功能强大、易于使用的Python发行版,适用于进行数据科学、机器学习、数据分析等领域的研究和应用。


关于Pycharm:

PyCharm是一种Python集成开发环境(IDE),由JetBrains公司打造。它为Python开发者提供了一套完整的工具,包括代码编辑器、调试器、测试工具、版本控制系统集成等等。

PyCharm具有以下优点:

  1. 强大的代码编辑器:PyCharm提供了自动补全、语法高亮、代码折叠、代码片段等功能,这些功能可以大大提高开发效率。
  2. 集成调试器:PyCharm内置了强大的调试器,可以对代码进行单步调试,查看变量值、函数调用栈等,方便开发者快速定位问题。
  3. 丰富的插件支持:PyCharm支持多种插件,可以扩展其功能,如支持Django、Flask、Pyramid等Web框架的插件。
  4. 版本控制系统集成:PyCharm支持多种版本控制系统,如Git、SVN等,可以方便地管理代码版本。
  5. 优秀的性能:PyCharm在运行速度和内存占用方面都表现出色,可以带来更加快速和流畅的开发体验。

总的来说,PyCharm是一款功能强大的Python开发工具,可帮助Python开发者提高效率、保证代码质量、降低开发成本。


关于Pytorch:

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。

PyTorch具有以下特点:

  1. 张量(Tensor):PyTorch的核心组件是张量,它是一个多维数组,可以用于存储和处理数据。PyTorch的张量与NumPy的数组类似,但也提供了GPU加速和自动微分等功能。
  2. 动态计算图(Dynamic Computational Graph):PyTorch使用动态计算图,这意味着在运行时可以修改计算图,从而允许更灵活的模型构建和调试。这与TensorFlow等框架的静态计算图不同。
  3. 自动微分(Automatic Differentiation):PyTorch支持自动微分,可以方便地计算张量的梯度。这为构建和训练深度学习模型提供了便利。
  4. 神经网络(Neural Networks):PyTorch提供了构建和训练神经网络的工具,包括各种层、激活函数、损失函数等等。
  5. 数据加载(Data Loading):PyTorch提供了可扩展的数据加载工具,可以方便地加载各种类型的数据集。
  6. GPU加速(GPU Acceleration):PyTorch可以利用GPU进行加速,这意味着它可以处理大规模的数据集和复杂的深度学习模型。
  7. 工具集(Toolkits):PyTorch提供了许多工具集,如torchvision用于图像处理、torchtext用于文本处理、ignite用于训练和评估模型等等。

总的来说,PyTorch是一个功能强大的Python机器学习库,适用于构建和训练各种深度学习模型。


关于CUDA:

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。它是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。

CUDA的核心是一个C语言编译器,开发人员可以使用C语言来为CUDA架构编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。

CUDA体系结构的组成包括开发库、运行期环境和驱动。它是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。

目前只有G80平台的NVidia显卡才能使用CUDA,因此它非常适合进行并行计算,数值计算的速度远远优于CPU并行计算。


关于Cudnn:

cuDNN(CUDA Deep Neural Network library)是由NVIDIA开发的一个深度学习GPU加速库。它专门为深度学习设计,为神经网络中的常见计算任务提供了高度优化的实现,包括前向卷积、反向卷积、注意力机制、矩阵乘法(matmul)、池化(pooling)和归一化(normalization)等。

cuDNN的主要功能和特点包括:

  1. 高效运算:cuDNN经过精心设计和优化,可以在NVIDIA的GPU硬件上实现最佳性能。它利用了NVIDIA GPU的并行处理能力,从而大大加速了神经网络的训练和推断过程。
  2. 与深度学习框架集成:多数主流的深度学习框架(如TensorFlow、PyTorch、Caffe等)都集成了cuDNN。这意味着当开发者使用这些框架并在NVIDIA GPU上运行时,他们会自动从cuDNN的高效运算中受益。
  3. 优化深度学习任务:cuDNN为深度学习任务提供了高度优化的函数,如卷积操作、池化操作、激活函数、归一化等。这些操作在GPU上运行得非常快,大大减少了单次迭代的时间。

总的来说,cuDNN是一个为深度学习在NVIDIA GPU上提供高效运算的库,它使得深度学习框架可以在NVIDIA GPU上实现最佳性能。


一、🌎前言:

本篇博客为  深度学习环境配置超详细教程【Anaconda+Pycharm+PyTorch(GPU版)+CUDA+cuDNN】


一直走在路上🏔


二、🔖Anaconda安装

1、官网下载Anaconda安装包

2、下载完成,点击安装

上述内容安装完成后,已经默认将PATH环境变量配置完成,可点击:

3、打开anaconda

 4、修改源

anaconda安装完成之后请切换到国内的源来提高下载速度 ,命令如下: 

conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

首先创建python3.8的虚拟环境,请在命令行中执行下列操作:

conda create -n yolomask1218 python==3.8.5
conda activate yolomask1218

三、🔖Pycharm安装

见以下文章:

关于 Pycharm专业版 安装教程,简单好用_pycharm专业版安装教程-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63244368/article/details/124081597

关于 Pycharm专业版 安装教程,简单好用_pycharm专业版安装教程-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63244368/article/details/124087244推荐学生使用学生邮箱注册,可使用一年,一年后可继续延续使用


四、🔖CUDA安装

需要使用NVDIA显卡


1、查看NVDIA显卡型号


2、判断自己应该下载什么版本的cuda

在终端输入:

nvidia-smi

由上图可知,我们需要CUDA版本是12.2及以下版本(此处 版本向下兼容,即按照开发库一般不建议使用最新版本的原则,此处我们的显卡及驱动最高支持 CUDA12.2 ,但是我们仍然选择 11.2 版本来完成开发工作。)

3、安装CUDA11.2 CUDA toolkit Download

需要CUDA11.2的可以通过百度网盘链接下载:

链接:https://pan.baidu.com/s/1ztSpsDfMB9L0FNs5EwTN9w?pwd=novo 
提取码:novo

我们可以在官网网站下载自己需要的CUDA版本

CUDA Toolkit Archive | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/cuda-toolkit-archive如下图所示:


点击cuda_11.2.1_461.09_win10.exe ,根据步骤点击即可(自动配置环境变量)

打开控制面板即可发现安装了一大堆配置和驱动文件。

查看环境变量

点击设置-->搜索高级系统设置-->查看环境变量

【如果没有需要自己添加】

安装完成后,在命令行输入,查看cuda版本以及安装位置

验证CUDA是否安装成功:

WIN+R 键运行 cmd,输入 nvcc -V 即可查看版本号;

set cuda,可以查看 CUDA 设置的环境变量。

nvcc -V

set cuda

 

 表明我们安装完成!!!

此时,CUDA安装已经成功,但是在完成张量加速运算时还需要cuDNN的辅助,因此下面安装cuDNN。


五、🔖Cudnn安装


1、cuDNN下载

cuDNN地址如下,不过要注意的是,我们需要注册一个账号,才可以进入到下载界面。大家可以放心注册的。

Log in | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/login

  使用下面网址,查看适配的 cuDNN

cuDNN Archive | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/rdp/cudnn-archive

选择跟自己的cuda版本适配的cudnn版本,此处我安装的是CUDA11.2,因此我选取下面的版本:


2、Cudnn配置

cuDNN叫配置更为准确,我们先把下载的 cuDNN 解压缩,会得到下面的文件:

下载后发现其实cudnn不是一个exe文件,而是一个压缩包,解压后,有三个文件夹,把三个文件夹拷贝到cuda的安装目录下。

CUDA 的安装路径在前面截图中有,或者打开电脑的环境变量查看,默认的安装路径如下:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2

此处我们最好分别将文件夹内容复制到对应文件夹中

拷贝时看到,CUDA 的安装目录中,有和 cuDNN 解压缩后的同名文件夹,这里注意,不需要担心,直接复制即可。

cuDNN 其实是 CUDA 的一个补丁,专为深度学习运算进行优化的。


3、添加环境变量

添加至系统变量:

往系统环境变量中的 path 添加如下路径(根据自己的路径进行修改)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp

 六、🔖Pytorch安装

1、pytorch安装(gpu版本和cpu版本的安装)

实际测试情况是YOLOv5在CPU和GPU的情况下均可使用,不过在CPU的条件下训练那个速度会令人发指,所以有条件的小伙伴一定要安装GPU版本的Pytorch,没有条件的小伙伴最好是租服务器来使用。

可以在Pytorch官网查看自己需要的安装版本:

Previous PyTorch Versions | PyTorchicon-default.png?t=N7T8https://pytorch.org/get-started/previous-versions/

我这里创建的是python3.8的环境,安装的Pytorch的版本是1.8.0,命令如下:

conda install pytorch==1.8.0 torchvision torchaudio cudatoolkit=10.2

或者使用清华镜像源等:

pip install pytorch==1.8.0 torchvision torchaudio cudatoolkit=10.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

 2、验证配置是否成功

这个时候我还是喜欢直接使用代码验证,毕竟我们需要跑代码ε=ε=ε=(~ ̄▽ ̄)~

进入我们的Pycharm python环境,然后输入以下代码测试:

这段代码是使用PyTorch库来检查CUDA和cuDNN的相关信息。

# 导入PyTorch库,这是一个用于深度学习的开源库
import torch

# 打印可用的GPU设备数量
print(torch.cuda.device_count())

# 打印是否可以使用CUDA,即是否可以在GPU上运行计算
print(torch.cuda.is_available())

# 打印是否可以使用cuDNN,这是一个用于深度神经网络的库,它提供了优化的计算和内存访问模式
print(torch.backends.cudnn.is_available)

# 打印CUDA的版本号  
print(torch.cuda_version)

# 打印cuDNN的版本号
print(torch.backends.cudnn.version())

这些信息可以帮助你了解你的系统是否可以运行使用CUDA和cuDNN优化的PyTorch代码,以及它们的版本信息。

如上所示,则成功!!!

下面我们就可以开始跑代码了!!!


🥇Summary

上述内容就是此次 深度学习环境配置超详细教程【Anaconda+Pycharm+PyTorch(GPU版)+CUDA+cuDNN】  的全部内容了,感谢大家的支持,相信在很多方面存在着不足乃至错误,希望可以得到大家的指正。🙇‍(ง •_•)ง

文中 CUDA+Cudnn 安装包可通过以下链接获取 (或关注微信公众号获取相关链接) :

链接:https://pan.baidu.com/s/1ztSpsDfMB9L0FNs5EwTN9w?pwd=novo 
提取码:novo

调整自己。不忘来时路,努力前行,找到前进的方向。

2023年第四十六期,希望得到大家的喜欢🙇‍

希望大家有好的意见或者建议,欢迎私信,一起加油


以上就是本篇文章的全部内容了

 ~ 关注我,点赞博文~ 每天带你涨知识!

1.看到这里了就 [点赞+好评+收藏] 三连 支持下吧,你的「点赞,好评,收藏」是我创作的动力。

2.关注我 ~ 每天带你学习 :各种前端插件、3D炫酷效果、图片展示、文字效果、以及整站模板 、HTML模板 、C++、数据结构、Python程序设计、Java程序设计、爬虫等! 「在这里有好多 开发者,一起探讨 前端 开发 知识,互相学习」!

3.以上内容技术相关问题可以相互学习,可 关 注 ↓公 Z 号 获取更多源码 !
 

获取源码?私信?关注?点赞?收藏?WeChat?

👍+✏️+⭐️+🙇‍

有需要源码的小伙伴可以 关注下方微信公众号 " Enovo开发工厂 " ,一起交流啊!!!

最近在学习图像识别,有没有大佬可以帮助一下/(ㄒoㄒ)/~~,或者互相学习!!!

 ~~~///(^v^)\\\~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/255302.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深眸科技|轻辙视觉引擎以99.9%视觉检测能力为基准,赋能木材加工

轻辙视觉引擎:轻辙视觉引擎是以低代码为基础,深度学习技术为核心的视觉业务流程编排引擎,用于快速搭建部署复杂视觉检测流程软件方案。 轻辙视觉引擎|轻量级产品实现高效应用 作为深眸科技的核心产品之一,轻辙视觉引…

【Docker光速搞定深度学习环境配置!】

你是否还在用压缩包打包你的代码,然后在新的机器重新安装软件,配置你的环境,才能跑起来? 特别有这样的情况:诶,在我电脑跑的好好的,怎么这里这么多问题? 当项目比较简单的时候&am…

Java Web实现案例 :实现用户登录功能

目录 零、本节学习目标 一、纯JSP方式实现用户登录功能 (一)实现思路 (二)实现步骤 1、创建Web项目 2、创建登录页面 3、创建登录处理页面 4、创建登录成功页面 5、创建登录失败页面 6、编辑项目首页 (三&…

全同态加密正在改变行业游戏规则?

PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 隐私专业人士正在见证隐私技术的一场革命。新的隐私增强技术的出现和成熟是这场革命的一部分,这些技术允许数据使用和…

Python---进程

1. 进程的介绍 在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。 2. 进程的概念 一个正在运行的程序或者软件就是一个进程,它是操作系统进行资源分配的基本单位,也就是说每启动一个进程&#xf…

RNN梯度爆炸实验

前情回顾 from torch.utils.data import Dataset import torch.nn as nn import torch.nn.functional as F import os import random import torch from nndl import Accuracy from nndl import RunnerV3 from torch.utils.data import DataLoader import matplotlib.pyplot a…

Html+单页面引入element以及Vue框架引用地址报错(unpkg.com国内无法访问可代替方案)

问题 单页面引入element以及vue 地址报错,请求超时 使用的引用地址是官网上提供,但是没解决问题 一、原因: unpkg也没有幸免于难,也被墙了,unpkg上的相关资源都不能访问,才导致项目资源加载不出。 二、…

微服务——服务异步通讯(MQ高级)

MQ的一些常见问题 消息可靠性 生产者消息确认 返回ack,怎么感觉这么像某个tcp的3次握手。 使用资料提供的案例工程. 在图形化界面创建一个simple.queue的队列,虚拟机要和配置文件里面的一样。 SpringAMQP实现生产者确认 AMQP里面支持多种生产者确认的类…

MySQL job 定时任务

目录 介绍 优点: 缺点: 使用场景: 案例 创建表 -- 创建定时任务 每一分钟插入一条数据 执行结果 -- 查询定时任务 ENABLED--启用 DISABLED--禁用 -- 查询定时任务 -- 启用定时任务 ​-- 禁用定时任务 ​-- 删除定时任务 …

【mybatis】mapper.xml映射文件

目录 一.概述 二.了解mapper.xml文件 namespaceidresultType指定映射文件的路径 一.概述 mapper.xml 是一个 MyBatis 的映射文件,用于定义 SQL 语句和结果映射。它是一个 XML 文件,通常放置在项目的资源目录下。 随着mybatis框架的发展,myb…

Spring IOC 原理(二)

Spring IOC 原理 概念 Spring 通过一个配置文件描述 Bean 及 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化Bean 并建立 Bean 之间的依赖关系。 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供了 Bean 实例缓存、生命周期管理、 Bean 实…

数据结构与算法--贪心算法

贪心算法 应用场景 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号 介绍 贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择…

第三周:Python能力复盘

资料: 《笨办法学Python》阅读地址:https://www.bookstack.cn/read/LearnPython3TheHardWay 《廖雪峰Python教程》阅读地址:http://t.cn/RK0qGu7 《机器学习numpy与pandas基础》:https://zhuanlan.zhihu.com/p/639733816 《matplo…

代码随想录算法训练营 | day55 动态规划 392.判断子序列,115.不同的子序列

刷题 392.判断子序列 题目链接 | 文章讲解 | 视频讲解 题目:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。&#xff0…

SHT10温湿度传感器——STM32驱动

———————实验效果——————— 🎄硬件外观 🎄接线 🎈 3.3V供电 🎈 IIC通讯 🎄 代码获取 🎈 查看下方 ———————END———————

【深度学习初探】Day32 - 三维点云数据基础

【深度学习初探】Day32 - 三维点云数据基础 文章目录 【深度学习初探】Day32 - 三维点云数据基础一、点云的定义二、点云的获取三、点云的属性四、点云的存储格式4.1 pts4.2 LAS4.3 PCD4.4 .xyz4.5 .pcap 五、三维点云的表示方法5.1 二维投影5.2 三维体素5.3 原始点云5.4 图 六…

(已解决)如何使用matplotlib绘制小提琴图

网上很多人使用seaborn绘制小提琴图,本人暂时不想学新的东西,就是懒。本文介绍如何使用matplotlib绘制小提琴图,很多其他博客只是使用最简单的语法,默认小提琴颜色会是蓝色,根本改不了。本文使用了一点高级的用法&…

排序 | 冒泡 插入 希尔 选择 堆 快排 归并 非递归 计数 基数 排序

排序 | 冒泡 插入 希尔 选择 堆 快排 归并 非递归 计数 基数 排序 文章目录 排序 | 冒泡 插入 希尔 选择 堆 快排 归并 非递归 计数 基数 排序前言:冒泡排序插入排序希尔排序选择排序堆排序快速排序--交换排序三数取中快速排序hoare版本快速排序挖坑法快速排序前后指…

Linux---Ubuntu软件卸载

1. 软件卸载的介绍 Ubuntu软件卸载有两种方式: 离线安装包的卸载(deb 文件格式卸载)在线安装包的卸载(apt-get 方式卸载) 2. deb 文件格式卸载 命令格式: sudo dpkg –r 安装包名 -r 选项表示安装的卸载 dpkg 卸载效果图: 3. apt-get 方式卸载 命令格式: …

JMeter如何从数据库中获取数据并作为变量使用?

前言 JMeter如何从数据库中获取数据并作为变量使用?这在我们使用JMeter做接口测试、压力测试时经常碰到,今天通过两个示例(实现MySQL数据库的查询结果的单值引用和多值引用)进行说明。这里虽然以MySQL数据库做说明,但…