嵌入式学深度学习:1、Pytorch框架搭建
创始人
2025-05-30 11:32:27
0

嵌入式学深度学习:1、Pytorch框架搭建

  • 1、介绍
  • 2、Pytorch开发环境搭建
    • 2.1、查看GPU是否支持CUDA
    • 2.2、安装Miniconda
    • 2.3、使用Conda安装pytorch
    • 2.4、安装常用库
  • 3、简单使用验证

1、介绍

  • 深度学习是机器学习的一种,如下图:
    在这里插入图片描述
    目前深度学习应用场景较多.

    在嵌入式领域也经常会用到普通传感器无法检测、而用机器视觉能很方便完成的任务,比如流水线检测、无接触姿态检测等。

    而传统的计算机视觉要求使用者掌握图像处理的基本知识,较为复杂,而采用深度学习的图像处理则要求较低。

    且掌握了深度学习不仅只能做视觉,将不同的数据丢入深度学习会得到不同的东西,比如将语音数据丢给深度学习就得到了语音识别,将文本数据丢给深度学习就得到了自然语言处理。

    因此,嵌入式工程师如果能掌握深度学习的应用方法,无疑会给自己的项目研发带来很大便利。

    目前深度学习一些基本步骤都已经被封装的很好了,我们应用时只需要简单的调用框架中的各个模块来组合成各种网络结构即可

    目前常见的框架有TensorFlow和Pytorch,二者综合对比如下:
    在这里插入图片描述
    因此,这里选用PyTorch进行学习。深度学习离不开数据,常用的数据库以下链接有介绍:
    深度学习常见数据库
    这里选用CIFAR-10 & CIFAR-100进行学习。

2、Pytorch开发环境搭建

整体搭建教程见如下链接:

  • pytorch视频安装教程

  • pytorch安装教程

  • pytorch安装教程

2.1、查看GPU是否支持CUDA

  • 深度学习在训练模型时比较耗时间,但训练好之后应用时就对算力要求不高。因此在训练模型时我们通过显卡来加速训练。

    因此我们的显卡需要支持cuda,否则只能搭建cpu版本的Pytorch

    CUDA支持显卡查询
    进入以上链接进行查询:

    在这里插入图片描述

  • 也可以用本地的nvida控制面板进行查询,如下图:

    在这里插入图片描述

2.2、安装Miniconda

  • Miniconda为我们提供了包管理功能,类似于PIP,能大为简化我们的安装过程。
    这里安装Miniconda就够用了,它只包含了Conda和python,不需要安装完整功能的Anaconda。

    以下是conda的官网:
    conda官网

  • 由于我们pytorch支持的python不同,windows下面pytorch只支持python3.7-3.9,因此我们需要选择与之匹配的python版本的miniconda,这里选择3.8。
    在这里插入图片描述

  • 下载好之后,一路默认配置agree即可:
    在这里插入图片描述
    默认安装路径在:
    C:\Users\WCC\miniconda3

2.3、使用Conda安装pytorch

  • Conda为我们提供了包管理功能,我们打开Pytorch官网:
    Pytorch官网
    如下是选择版本的界面:
    在这里插入图片描述

  • 现在最新版本的已经是Pytorch2.0了。在Compute Platform这一栏,显示有CUDA和CPU。
    其中CUDA是运行在GPU上的,而CPU版本是纯CPU版本的。
    因为不同显卡算力不同,支持的CUDA版本也不同,所以需要看自己的显卡支持的CUDA版本,如下:
    在这里插入图片描述

  • 这里我的显卡最高支持CUDA 11.5,因此,不能安装最新版本的Pytorch 2.0,只能安装支持CUDA 11.5的Pytorch。
    在这里插入图片描述

  • 没有恰好CUDA11.5的,因此只能更改自己电脑的CUDA版本,选择将电脑的CUDA11.5降低为CUDA11.3。

    在以下网址选择CUDA版本:
    CUDA版本

    这里选择CUDA 11.3.0
    在这里插入图片描述
    然后进行下载:
    在这里插入图片描述

  • 下载完后双击安装包即可完成安装。
    安装完成之后,在命令行界面输入:
    nvcc -V
    在这里插入图片描述
    出现这个界面,说明已经完成CUDA的安装。

  • 有了CUDA之后,还需要安装用于加速计算的库cuDNN
    cuDNN库
    点击上述链接后如下图,单击下载按钮:

    在这里插入图片描述

  • 由于我们的CUDA版本是11.3,因此这里我们需要选择相匹配的cuDNN
    在这里插入图片描述
    大约700MB大小。

  • 下载完成后,将压缩包里面的bin、include、lib三个文件夹覆盖掉原本CUDA安装路径下的文件夹:
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3

  • 下面我们打开Miniconda的命令行界面:
    在这里插入图片描述
    如下,可以查看conda的版本,即可测试Conda安装成功。就可使用Conda来安装Pytorch了。
    在这里插入图片描述

  • 由于我们的显卡最高支持CUDA11.5,因此我们只能选择Pytorch1.12.1,其使用的CUDA是11.3。
    在这里插入图片描述

  • 我们将命令行复制到CONDA里面:注意这里要关闭科学上网工具
    在这里插入图片描述
    选择YES
    在这里插入图片描述
    下面就开始下载了。
    在这里插入图片描述

  • 下载全部完成后耐心等待其完成解压缩和安装。直到最后所用的命令行都被清除掉,如下:
    在这里插入图片描述
    输入命令行:

    conda list

    会显示出所有conda下面安装的东西,如下:
    在这里插入图片描述
    这个界面说明Pytorch安装成功。可以用python环境测试是否能import pytorch
    在这里插入图片描述
    出现True说明安装成功,已经可以使用了。

2.4、安装常用库

接下来安装常用的一些依赖库:

  • 在conda中执行以下命令:
    pip install pandas matplotlib notebook

3、简单使用验证

  • 由于我们安装了notebook,因此我们可以直接在浏览器中写代码。
    打开Miniconda的命令行,输入:
    jupyter notebook
    在这里插入图片描述

  • 会自动的用默认浏览器打开一个页面:
    在这里插入图片描述

  • 然后新建一个python3脚本,如下
    在这里插入图片描述在这里插入图片描述

  • 输入代码:
    在这里插入图片描述

  • 每一行输入代码之后可以点击运行,看到运行结果。
    在这里插入图片描述
    点击quit退出。

  • 以下链接提供了一些测试代码,可以进行测试

    测试Pytorch的程序

相关内容

热门资讯

原创 今... 什么神仙粽子啊?紫得梦幻、馅料爆满,颜值简直绝绝子!随手一拍就是朋友圈的王者,那温柔的紫糯米裹着若隐...
【蓝桥杯】付账问题—贪心算法 题目描述: 题解分析: 如何求标准差:怎么计算标准差呢-...
在家做这道香干炒肉,好吃到刮盘 一、香干和肉的绝妙组合 每次路过小区门口的湘菜馆,总会被那股浓郁的香干炒肉味儿勾住脚步。这道看似普通...
氛围拉满 这是端午该有的样子,... 氛围拉满 这是端午该有的样子粽子琳琅满目,吸引了不少市民前来购买。 端午节临近,节日气氛愈发浓厚。...
必看!鸡血藤的4种养生吃法,越... 鸡血藤有啥功效 大家好呀!今天咱们来聊一个听起来有点“神秘”的食材——鸡血藤!是不是光听名字就觉得它...
一颗粽子的“时空”之旅:端午滋... 中新社合肥5月31日电 题:一颗粽子的“时空”之旅:端午滋味里的不变情结 中新社记者 张强 农历五月...
挂香囊、系彩绳、沐兰汤 粽香串... 央视网消息:龙舟竞渡鼓声震天,艾草悬门祈福纳祥。端午时节,除了赛龙舟,各地民俗也各具特色。挂香囊、系...
烤面包有诀窍!面团发酵得法,松... 每次路过面包店,那股甜丝丝的香气总让人走不动道。可买回家的面包,放半天就硬得像砖头,价格还不便宜!其...
北方糖馅粽子发源地南谢堡村:传... “我们村是中国北方糖馅粽子的发源地。有600多年制作糖馅粽子的历史。” 河北省邯郸市肥乡区南谢堡村党...
原创 教... 标题:教你正宗西红柿鸡蛋汤做法,掌握好这3个技巧,比饭店的还好喝! 在繁忙的都市生活中,我们总是渴...
端午在家小聚,就做这几道菜! 端午节还在为家宴发愁?今天这几道菜从开胃凉菜到硬核大肉,每道都有详细做法分解,保证让你在家也能复刻餐...
防小人,你要懂端午节如何降妖除... 端午节到啦,大家都吃粽子了吗?你喜欢吃甜粽子还是咸粽子呢? 反正我作为一个甜咸皆爱党从来是被拒绝加入...
BFC块级格式化上下文 一、概念 BFC - Block Formatting Context 块级格式化上下文 BFC的定...
Docker 部署 Redis 1. 拉取镜像 docker pull redis 2. 创建容器 docker run -di -...
java实现“数据平滑升级” 文章目录一、摘要二、前提场景说明:三、项目用到的脚本和代码1.项目目录长这样2.jav...
国际范儿拉满 济南高新区的这场... 齐鲁网·闪电新闻5月31日讯千年非遗偶遇Z世代脑洞,艾草香囊、古装服饰混搭国际面孔,端午节期间,济南...
sheng的学习笔记-Reac... 什么是 Reactor 模式 Reactor 模式一般翻译成反应器模式,也有人称为分发...
非洲媳妇Lina在龙的首个端午... 她叫Lina(宝琳娜) 是一位嫁在龙游的非洲媳妇 在中国生活的这些年 她学会了中国话、学会了采茶叶 ...
零入门kubernetes网络... 《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7...