树莓派_Pytorch学习笔记20:初步认识深度学习框架

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)

本人所用树莓派4B 装载的系统与版本如下:

 版本可用命令 (lsb_release -a) 查询:

 Python 版本3.7.3:

本文很水,就介绍一下我以后的学习使用PC训练深度学习模型,然后给树莓派推理的开发想法

为何在PC端安装pytorch环境:

模型训练通常对硬件要求较高,但推理阶段对硬件的要求相对较低。这允许你将模型部署到各种边缘设备上,如树莓派。

使用树莓派进行PyTorch深度学习模型的训练,虽然技术上可行,但通常不是最优选择,主要因为树莓派的计算能力和内存资源相对有限。

因此,在更高性能的Windows电脑上先训练好模型,然后再将训练好的模型部署到树莓派上进行推理(即使用模型进行预测或分类等操作)的做法是非常提倡的,也是实际应用中常见的做法。

  1. 模型兼容性:确保在Windows上训练的模型能够无缝迁移到树莓派上。这通常不是问题,因为PyTorch模型是跨平台的,但你需要确保所有依赖库(如PyTorch本身)在树莓派上也是兼容的。
  2. 性能优化:虽然树莓派足以进行推理,但可能需要对模型进行量化或剪枝等优化措施,以进一步提高在树莓派上的运行效率。
  3. 数据传输:如果模型或数据集非常大,可能需要考虑如何将它们从Windows电脑传输到树莓派。确保有稳定且足够快的网络连接,或者使用外部存储设备(如USB驱动器)进行传输。
  • 选择合适的模型:根据树莓派的性能限制,选择适合在边缘设备上运行的模型。
  • 进行模型优化:在部署到树莓派之前,对模型进行必要的优化,如量化、剪枝等。
  • 使用容器化技术:考虑使用Docker等容器化技术来打包和部署模型,以确保在不同环境下的一致性和可移植性。
  • 测试与验证:在树莓派上充分测试模型,确保其在目标应用中的准确性和性能符合预期。

ONNX协议:

  • 模型转换:将不同框架(如PyTorch、TensorFlow、MXNet等)训练的模型转换为ONNX格式,以便在其他框架或硬件上部署。
  • 模型优化:利用ONNX Runtime等推理引擎对ONNX模型进行优化,提高模型的推理速度和效率。
  • 模型部署:将ONNX模型部署到各种硬件和平台上,包括云端、边缘设备和移动端等。

初步认识Pytorch:

GPU加速

GPU加速是通过将数据和模型从CPU转移到GPU来实现的,从而利用GPU的并行计算能力来加速深度学习模型的训练和推理过程。

示例: 定义俩个比较大的矩阵进行运算,分别使用CPU与GPU进行运算比较

GPU运行了俩次,第二次所用时间小于CPU:

自动求导

PyTorch的自动求导机制是训练神经网络时的一个核心概念,它使得计算梯度变得简单而高效。

常用网络层

PyTorch提供了丰富的网络层实现,包括全连接层、卷积层、池化层、激活函数层等。

深度学习训练过程:

把图像拆分成以为像素阵列

Pytorch 最全入门介绍,Pytorch入门看这一篇就够了-CSDN博客

 
 

匆匆结语:

没有实践的理论学习与查找资料真是枯燥无味......

配置个环境变量丝毫没有任何成就感,觉得很浪费时间...

网上学习资料贴出:

10分钟入门神经网络 PyTorch 手写数字识别_哔哩哔哩_bilibili

 文心一言

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【线程同步-1】

三大不安全案例 1、车站买票 package syn; ​ //不安全的买票 //线程不安全,有负数 public class UnsafeBuyTicket {public static void main(String[] args) {BuyTicket buyTicket new BuyTicket();new Thread(buyTicket,"xiaoming").start();new Thr…

STM32-按键及传感器模块

本内容是基于江协科技STM32视频整理而得。 1. 按键及传感器模块 1.1 按键简介 按键:常见的输入设备,按下导通,松手断开; 按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间…

【代码随想录】【算法训练营】【第63天】 [卡码53]寻宝

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 63,周二,ding~ 题目详情 [卡码53] 寻宝 题目描述 卡码53 寻宝 解题思路 前提: 思路: 重点: 代码实现 C语言 prim算法 kruskal…

百望股份于港交所上市 用户量突破2300万

7月9日,百望股份(股份代码:6657.HK)正式于港交所上市,以32港元价格开盘,成为“电子发票第一股”。 招股书披露,百望股份成立于2015年,作为一家专注于企业数字化解决方案的提供商&…

C++ | Leetcode C++题解之第221题最大正方形

题目&#xff1a; 题解&#xff1a; class Solution { public:int maximalSquare(vector<vector<char>>& matrix) {if (matrix.size() 0 || matrix[0].size() 0) {return 0;}int maxSide 0;int rows matrix.size(), columns matrix[0].size();vector<…

在Mac上一键安装Mysql(解决所有安装问题)

重点强调安装mysql成功的关键在于安装的版本不能是最新&#xff01;&#xff01; 目录 一&#xff1a;下载mysql数据库安装部分到此结束 二&#xff1a;配置mysql数据库三&#xff1a;启动mysql数据库四&#xff1a;各类奇葩问题总结 一&#xff1a;下载mysql数据库 1.进入MyS…

214.贪心算法:K次取反后最大化的数组和(力扣)

class Solution { public:int largestSumAfterKNegations(vector<int>& nums, int k) {int sum 0;// 进行k次取反操作while (k > 0){// 对数组进行排序sort(nums.begin(), nums.end());// 将最小的元素取反nums[0] -nums[0];// 减少k的值k--;}// 计算数组的总和…

【触想智能】工业一体机在工程机械车辆上的应用分析

随着工程机械行业的不断发展和自动化程度的提高&#xff0c;工业一体机在工程机械车辆上的应用越来越广泛。工业一体机是集电脑、显示器、触摸屏、通讯、测量、控制等多种功能于一体的高度集成化的工业控制系统&#xff0c;在工程机械车辆上的应用可以为用户提供更为便捷、高效…

Java并发/多线程CompleteableFuture详解

目录 CompleteableFuture 创建 获得结果的方法 辅助方法 allOf和anyOf的区别 CompletableFuture 里大约有五十种方法&#xff0c;但是可以进行归类: 变换类 thenApply 消费类 thenAccept 执行操作类 thenRun thenApply/thenAccept/thenRun 结合转化类 thenCombine 结…

如何成功的设计BGA?

目前&#xff0c;用于容纳各种先进多功能半导体器件&#xff08;如 FPGA 和微处理器&#xff09;的标准封装是球栅阵列 &#xff08;BGA&#xff09;。BGA 封装中的组件用于各种嵌入式设计中&#xff0c;既可用作主机处理器&#xff0c;也可用作存储器等外设。多年来&#xff0…

硅纪元小课堂 | 重燃回忆!手把手教你用AI免费让老照片“活”起来!

在这个数字化的时代&#xff0c;我们的照片承载了无数珍贵的回忆。然而&#xff0c;随着时间的流逝&#xff0c;这些照片可能会褪色、损坏&#xff0c;甚至丢失。但现在&#xff0c;有了AI技术的加持&#xff0c;我们可以让这些老照片重新焕发生机&#xff0c;甚至让它们“活”…

图论·Day01

P3371 P4779 P3371 【模板】单源最短路径&#xff08;弱化版&#xff09; 注意的点&#xff1a; 边有重复&#xff0c;选择最小边&#xff01;对于SPFA算法容易出现重大BUG&#xff0c;没有负权值的边时不要使用&#xff01;&#xff01;&#xff01; 70分代码 朴素板dijsk…

《人生苦短,我用python·八》多线程和线程池的使用

在Python中&#xff0c;多线程是一种并发编程技术&#xff0c;它允许多个线程在程序中并行执行。这对于IO密集型任务&#xff08;如网络请求、文件读写等&#xff09;非常有用&#xff0c;因为这些任务在等待外部资源时可以让其他线程继续工作&#xff0c;从而提高程序的效率。…

openssl交叉编译-移植ARM

OpenSSL是一个开源的密码学工具包&#xff0c;提供了一组用于网络安全的加密和解密算法、协议以及相关工具的库&#xff0c;它通过提供多种加密算法、协议和工具&#xff0c;为网络通信和数据存储提供了强大的安全保障。 主要功能 加密和解密&#xff1a; OpenSSL提供了多种对…

CDGA|数据治理:构建高质量数据要素供给体系的核心在于畅通流通渠道

随着数字化时代的到来&#xff0c;数据已经成为驱动经济社会发展的核心要素。数据治理作为确保数据质量、保障数据安全、促进数据价值实现的重要手段&#xff0c;其重要性日益凸显。在数据治理的众多环节中&#xff0c;构建高质量数据要素供给体系尤为关键&#xff0c;而该体系…

C基础day6

1、思维导图 2、 #include<myhead.h> #define MAX 10 int main(int argc, const char *argv[]) {//定义一个数组&#xff0c;用于存储班级所有成员的成绩int score[MAX] {0};//完成对成员成绩的输入for(int i0;i<MAX;i){//任意一个元素score[i]printf("请输入第…

springboot学生成绩管理系统-计算机毕业设计源码49296

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 删除信息流程 2.3 系统功能…

假期笔记1:anaconda的安装与pycharm中的引用

1.下载安装 Download Anaconda Distribution | Anaconda 2.填个邮箱 11111.. 3.下载。有点需要时间 4.安装&#xff0c;双击&#xff0c;根据实际进行&#xff0c;记清安装路径 5。环境设置 conda -V 6.创建环境 conda create --name env_name conda create --na…

利用JavaScript在HTML页面搜索并高亮匹配的文本

网页中内容比较多的话&#xff0c;有时候需要通过搜索快速查找特定的文本。当然&#xff0c;这可以通过浏览器的搜索功能实现&#xff0c;但是&#xff0c;象Anki的复习界面这样的场景&#xff0c;并没有搜索功能&#xff0c;我们就需要自己在网页上提供一个搜索框来实现。 下…

金蝶API取数+JSON解析,FDL助力高效数据处理

目录 一、企业介绍 二、业务难题与挑战 商管预算管理瓶颈凸显&#xff1a;金蝶数据手工导出&#xff0c;跨库关联分析时效受限 金蝶API数据提取&#xff1a;挑战重重的技术攻坚战 三、解决方案 商管预算管理升级&#xff1a;API取数JSON解析&#xff0c;FineDataLink助力高效数…