树莓派_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
文心一言

相关推荐
懒惰才能让科技进步35 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope1 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen1 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)1 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
准橙考典2 小时前
怎么能更好的通过驾考呢?
人工智能·笔记·自动驾驶·汽车·学习方法
hong1616882 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~2 小时前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin3 小时前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表3 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
聪明的墨菲特i3 小时前
Python爬虫学习
爬虫·python·学习