嵌入式学深度学习:1、Pytorch框架搭建
创始人
2025-05-30 10:50:34
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的程序

相关内容

热门资讯

JAVASE/封装、继承、多态 博客制作不易,欢迎各位点赞👍+收藏⭐+关注前言在学习面...
Elasticsearch中索... 概要 由于历史原因,A产品数据入Es库中字段默认都是keyword并没有区分字段类型属...
4.网络层:数据平面 1.网络层概述网络中的每台主机和路由器之间都有一个网络层路由器具有截断的协议栈,没有网...
2023系统分析师-企业信息化... 一、信息化战略体系 1、信息资源规划ISP 信息资源规划是信息化建设的基础工程,是针对...
inverted_residu... 1. 线性BottleNect 线性瓶颈是在 MobileNetV2: Inverted Resid...
Apache DophinSc... 前言 本文通过定时调度Python的例子演示了Apache DophinScheduler 的基本操...
企业帮助文档搭建步骤 产品帮助文档是指一份或多份文件,用于帮助用户了解、学习和使用产品。产品帮助文档通常包括...
梦幻西游单机架设教程-端游篇 准备工具:GGE服务端客户端服务器源码废话不多说教程开始我们打开GEE双击打开ggem...
线性动态规划问题 文章目录1. 三角形中最小路径之和2. 最长递增子序列3. 最长公共子序列 1. 三角形中最小路径之...
信息系统安全(对称加密)-软件... 计算机网络-计算子网掩码(下)-软件设计(三十࿰...
css单位px,rem,em,... pxpx就是pixel像素的缩写,相对长度单位,网页设计常用的基本单位。...
【独家】华为OD机试 - 删除... 最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真...
2025韩系车太委屈!全球第4... 2025年韩系车,真的“寒”前两日,小编为大家分享了一下,2025年度美系车在中国汽车市场艰难的表现...
【C++】面向对象之继承 谈到面向对象的三大特性,必然绕不开封装、继承和多态。 但是需要明确的是三大特性是所有的...
【 Deep-Shallow ... A Deep-Shallow Fusion Network with Multi-Detail Ex...
机器学习必知的基础概念(Fun... 机器学习必知的基础概念(Fundamental Theories of Machine...
Word怎么转换成PDF文件格... PDF是一种通用的文件格式,它可以在不同操作系统和设备上保持一致的显示效果。在日常工作...
【C++】面试101,二叉搜索... 目录 1.二叉搜索树的最近公共祖先  2.在二叉树中找到两个节点的最近公共祖先 3.序列化二叉树 4...
linux简单入门 目录Linux简介Linux目录结构Linux文件命令文件处理命令文件查看命令常用文件查看命令Lin...
LP周报丨央企创投母基金来了,... 一级市场再现重量级玩家。本周,由国务院国资委指导、中国诚通控股集团有限公司牵头组建的“诚通科创投资基...