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

嵌入式学深度学习: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的程序

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

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

相关文章

MySQL-四大类日志

目录 🍁MySQL日志分为4大类 🍁错误日志 🍃修改系统配置 🍁二进制日志 🍃查看二进制日志 🍃删除二进制日志 🍃暂时停止二进制日志的功能 🍁事务日志(或称redo日志) 🍁慢查…

chatgpt3中文辅助写作-gpt2中文文本生成

GPT-3是一种深度学习模型,具有潜在的巨大计算成本和训练麻烦。根据OpenAI公司的官方消息,训练GPT-3是一项昂贵的和耗时的过程,在OpenAI公司,训练GPT-3的成本已经超过了10亿美元。考虑到GPT-3的架构、规模和训练时间,这…

高分子PEG磷酸盐mPEG-phosphoric acid,Phosphate PEG,甲氧基聚乙二醇磷酸,可用于修饰金属氧化物表面

规格单位:g |货期:按照具体的库存进行提供 | 端基取代率:95% 中英文名:mPEG-phosphoric acid|Phosphate PEG|甲氧基聚乙二醇磷酸​ 一、Phosphate PEG化学结构式: 二、产品详情: 外观:灰白…

[oeasy]python0123_中文字符_文字编码_gb2312_激光照排技术_王选

中文编码GB2312 回忆上次内容 上次回顾了 日韩各有 编码格式 日本 有假名 五十音一字节 可以勉强放下 有日本汉字 字符数量超过20000 韩国 有谚文 数量超过500一个字节 放不下 有朝鲜汉字 字符数量超过20000 作为 汉字源头的中国 究竟应该 如何对汉字 进行编码 呢&#x…

操作系统-AOSOA

一、个人感受 1.1 权衡 在我写这份报告的时候,已经是 6 月 30 号了,经历了一个学期的“折磨”,我面对终点,已经没啥感觉了,就想着赶快呼噜完了就完事了。其实做这个项目最大的体会就是“人力有穷,一切皆权…

视频剪辑:教你如何调整视频画面的大小。

大家应该都会调整图片的大小吧,那你们会调整视频画面的大小吗?我想,应该会有人不还不知道要调整的吧,今天就让小编来教大家一个方法怎样去调整视频画面的大小尺寸。 首先,我们要有以下材料: 一台电脑 【…

列的类型定义——整形类型

文章目录 前言一、整数类型的附带属性 类型名称后面的小括号unsignedauto_increment总结前言 1)采用26字母和0-9的自然数加上下互相 ‘_’ 组成,命名简洁明确,多个单词用下划线 ‘_’ 隔开 2)全部小写命名,尽量避免…

【SpringBoot】自定义Starter

🚩本文已收录至专栏:Spring家族学习之旅 👍希望您能有所收获 一.概述 在使用SpringBoot进行开发的时候,我们发现使用很多技术都是直接导入对应的starter,然后就实现了springboot整合对应技术,再加上一些简…

【论文导读】Inferring deterministic causal relations

前段时间看Scholkopf教授的《Towards Causal Representation Learning》,看到这篇挺有意思来读读。 这一篇只在Arxiv上挂着,重点主要是研究发掘两变量之间的因果关系(无法应用独立性检验等方法),引入了信息论中的正则…

Elasticsearch:配置选项

Elasticsearch 带有大量的设置和配置,甚至可能让专家工程师感到困惑。 尽管它使用约定优于配置范例并且大部分时间使用默认值,但在将应用程序投入生产之前自定义配置是必不可少的。 在这里,我们将介绍属于不同类别的一些属性,并讨…

2023年泰迪杯数据挖掘挑战赛B题--产品订单数据分析与需求预测(2.数据探索性分析)

前言 继续上一片数据预处理进行续写,利用预处理之后的数据进行数据分析并且解决问题一相关的问题。问题一主要目的是让研究各种因素对于需求量的影响,然后找到确定影响需求量的主要因素并且进行数据分析和主要特征抽取。 对于问题提出的八个小问&#…

解决云服务器ssh经常断开的问题

问题描述:无论是腾讯云服务器还是阿里云服务器等,在使用MobaXterm或者Xshell连接云服务器时,如果十分钟左右无任何操作,ssh就会自动断开,非常烦人,下面提供几种方法来解决该问题。 MobaXterm的报错如下&am…

Cookie和Session的工作流程及区别(附代码案例)

目录 一、 HTTP协议 1.1 为什么HTTP协议是无状态的? 1.2 在HTTP协议中流式传输和分块传输编码的区别 二、Cookie和Session 2.1 Cookie 2.2 Session 2.3 Cookie和Session的区别 三、servlet中与Cookie和Session相关的API 3.1 HttpServletRequest 类中的相关方…

mysql与redis区别

一、.redis和mysql的区别总结 (1)类型上 从类型上来说,mysql是关系型数据库,redis是缓存数据库 (2)作用上 mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢 redis用于存储使…

【新2023Q2押题JAVA】华为OD机试 - 挑选字符串

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:挑选字符串 题目 给定a-z,…

二.microchip samE54-- ATSAME54P20A 开发板使用总结

板子图片 2.1 板子硬件资源 2.1.1 外部插件1 2.2.2 外部插件2 2.2.3 外部插件3 2.2.IDE KIT连接(USB DEBUG) 板子自带,不是JLINK 出现这个说明板载 调试软件识别成功 2.3 编译与下载 D:\HarmonyProjects\usart\usart_echo_blocking\f…

DataHub调研数据血缘

DataHub调研&数据血缘 1. DataHub? 阿里的数据工具datahub? 回答: 不是 DataHub是由Linkedin开源的,官方喊出的口号为:The Metadata Platform for the Modern Data Stack - 为现代数据栈而生的元数据平台。官方网站A Metadata Platfo…

Qt C++与Python混合编程:补充错误

在提示中,需要引用Python.h,出现错误。 1、找不到Python.h 如果是pro工程,需要在里面配置; INCLUDEPATH /Users/xinnianwang/opt/anaconda3/include LIBS /Users/xinnianwang/opt/anaconda3/lib 如果是CMakeLists.txt需要配…

【清明节】开发平台公司流辰信息缅怀先祖,传承精神,撸起袖子创佳绩!

四月暖春,草长莺飞,杨柳依依,大自然呈现出一片生机勃勃的朝气景象。中国传统民俗节日——清明节踏春而来,在回乡祭祖,缅怀先人的季节里,哀思、怀念、伤感已经成为整个清明节的主基调。在这万物复苏、春和景…

Spring循环依赖冤冤相报何时了

Spring循环依赖 🚎什么是循环依赖?那么循环依赖是个问题吗?单例setter, spring是如何解决的为什么需要三级缓存单单只有两级缓存行不行还得是你三级缓存三级缓存解决依赖循环全解梦想不会逃跑,会逃跑的永远都是自己 什么是循环依赖…
最新文章