在树莓派5上使用pytroch进行模型训练—全流程笔记

在树莓派上运行pytroch模型🚀

        在完成了树莓派的一系列基础配置学习之后,按照规划,下一步要做的就是在树莓派上安装一个pytorch,尝试运行一下深度学习的模型,如果可以实现且准速度有一定保证的话,就可以作为一个项目方案,或者来说参加比赛用的一个非常好的选择方案,也是打算抽时间写一篇类似的东西,今天终于是完成了。


在这里插入图片描述


系列文章1:树莓派初探—给树莓派5 安装Raspberry Pi OS 操作系统
系列文章2:使用VNC-viewer对树莓派5 远程连接桌面—详细记录笔记版
系列文章3:树莓派5环境配置笔记 新建虚拟python环境—安装第三方库—配置Thonny解释器
系列文章4:在树莓派5上调用通义千问API实现多轮对话和流式输出


文章目录

  • 在树莓派上运行pytroch模型🚀
  • 1.在树莓派上新建一个python的虚拟环境并安装pytroch(CPU)
  • 1+.安装matplotlib绘图库(之后绘制损失曲线用的到)
  • 2.使用的训练代码(仓库/详解博客)
  • 3.通过U盘传输模型代码
  • 4.在Tonny中打开项目文件
  • 5.配置Tonny解释器
  • 6.运行训练模型的程序
  • 报错笔记—安装时报错 ERROR: THESE PACKAGES DO NOT MATCH THE HASHES
  • 结束

1.在树莓派上新建一个python的虚拟环境并安装pytroch(CPU)


在进行pytroch任务之前可以先建一个虚拟环境。

如果是纯新手的的话可以去看一下更详细的这个入门版教程:树莓派5环境配置笔记 新建虚拟python环境—安装第三方库—配置Thonny解释器

新建虚拟环境

python3 -m venv pytroch

激活虚拟环境

source pytroch/bin/activate

在这里插入图片描述

配置清华园镜像

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

更新软件下载仓库的索引文件

sudo apt update

在这里插入图片描述

安装pytroch,树莓派上没有GPU所以我们直接pip安装就行安装一个CPU的版本。

pip3 install torch torchvision torchaudio

在这里插入图片描述
安装成功之后看下pytorch的版本。
启动python

python

导入torch

import torch

查看pytroch版本

troch.__version__

退出python解释器

exit()

在这里插入图片描述

1+.安装matplotlib绘图库(之后绘制损失曲线用的到)


进入到之前建好的pytroch环境下,然后直接安装就行。

pip3 install matplotlib

进入到环境中之后直接安装就行
在这里插入图片描述

2.使用的训练代码(仓库/详解博客)


我使用的代码是我自己之前写的基于一维卷积神经网络的深度学习训练模板代码,自己下载一下就行了,用自己的也行

GitHub仓库地址:https://github.com/StChenHaoGitHub/1D_Pytorch_Train_demo

在这里插入图片描述

博客地址:https://chen-hao.blog.csdn.net/article/details/135992162
在这里插入图片描述

3.通过U盘传输模型代码


将代码下在U盘里然后直接插入,这里为了避免远程传输可能出现的各种风险,先直接用硬件传输代码。
在这里插入图片描述
插入U盘之后,界面会出现移动设备插入的提示,选中Open in File Manager 然后点击OK就可以了
在这里插入图片描述
找到深度学习的项目代码,然后跟Windows一样的操作,复制粘贴到桌面上。在这里插入图片描述
复制到桌面上之后可以看到,复制到系统上的项目图片,和移动设备的图标。
在这里插入图片描述

4.在Tonny中打开项目文件


在Tonny中点击View,然后选择Files,显示文件管理窗口。
在这里插入图片描述
在File窗口中点击蓝色的路径就可以一直找到项目文件了,通过点击蓝色的路径中的文件夹的名称蓝色路径下的空白部分就会显示当前路径下的内容。
在这里插入图片描述

5.配置Tonny解释器


详细教程见下面文章的第四部分。
树莓派5环境配置笔记 新建虚拟python环境—安装第三方库—配置Thonny解释器:https://chen-hao.blog.csdn.net/article/details/141256300

在这里插入图片描述

选则完成之后界面中的路径如下。
在这里插入图片描述

6.运行训练模型的程序


然后打开左边的train.py文件,直接点击右上角绿色运行训练程序就行虽然慢点但是是可以跑通的这里我用的是LeNet跑的,我下面的截图是我运行完的结果,训练曲线的弹窗也出来了,OK成功!

在这里插入图片描述

报错笔记—安装时报错 ERROR: THESE PACKAGES DO NOT MATCH THE HASHES

在这里插入图片描述
上网搜了很多方案 比如加upgrade还有 --no-cache-dir 等等的方法,都不好使,最后的解决方案是在安装pytroch之间先使用一个sudo apt update更新软件包索引包就ok了。

sudo apt update 

结束


这样的话基本上在单片机上进行一些基本的模型推理的基础技术部分就结束了,这样就可以把传感器的数据和深度学习模型直接结合起来,完成一个非常好的实践方式后续我再想想还需不需要尝试一下Docker之类的在树莓派上。

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

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

相关文章

使用Qt+Visual Stuidio写一个简单的音乐播放器(1)

1.使用QMediaPlayer播放音乐 第三步:在代码头部加上: #include <QtMultimedia/QMediaPlayer> // VS向.pro文件添加代码的方式 #pragma execution_character_set("utf-8") // qt支持显示中文 QMediaPlayer类是一个高级媒体播放类。它可以用来播放歌曲、电…

超分CAMixerSR 使用笔记

目录 超分CAMixerSR 笔记 自己改进的图例示例: 修改目录: 设置预训练模型: 超分CAMixerSR 笔记 自己改进的图例示例: 修改目录: codes/basicsr改为codes/basicsr_m 设置预训练模型: path:pretrain_network_g: F:\project\chaofen\CAMixerSR-main\pretrained_mode…

C++初学(14)

14.1、while循环 和for循环相比&#xff0c;while循环没有初始化和更新部分&#xff0c;它只有测试条件和循环体。 while(text-condition)body首先程序计算圆括号内的测试条件&#xff08;text-condition&#xff09;表达式。如果该表达式为ture&#xff0c;则执行循环体中的…

Docker快速上手

Docker 前言一、基本组成二、常用命令2.1 Docker服务2.2 image相关命令2.3 Container相关命令 三、Docker Volume 容器卷3.1 匿名挂载3.2 具名挂载 四、Docker 网络模式4.1 bridge桥接模式4.2 host主机模式4.3 None模式4.4 Container模式4.5 Customer模式 前言 本篇文章不再赘…

读软件开发安全之道:概念、设计与实施08密码学(下)

1. 对称加密 1.1. symmetric encryption 1.2. 使用各方共享的密钥来隐藏数据 1.2.1. 对称加密在本质上依赖共享密钥 1.3. 所有加密都是通过对明文进行转换&#xff0c;把明文消息&#xff08;或者原始消息&#xff09;变成无法识别的形式&#xff08;也称为密文&#xff09…

我的CSDN-----第128天创作纪念日

机缘 起初的我&#xff0c;是为了在学习代码的过程中通过写博客的方式来巩固自己的知识。后来在遇到不会的问题时可以在csdn上面查找&#xff0c;寻求一点思路&#xff0c;将学到的知识通过博客的方式呈现出来。 收获 每当发布一篇博客后&#xff0c;就会收到很多人的评论加关…

Adobe Animate (AN)软件安装,硬件配置(附安装包)

目录 一、Adobe An 软件简介 Adobe An 软件的特点 Adobe An 软件的优势 下载 二、Adobe An 软件安装 安装前的准备工作 安装过程中的注意事项 安装后的设置 三、Adobe An 软件使用 高级动画技巧 交互设计 优化与性能提升 四、Adobe An 软件快捷键 选择工具快捷键…

Linux 下命令行参数和环境变量

Linux 下命令行参数和环境变量 命令行参数为什么要有命令行参数谁可以做到结论 环境变量一些现象查看环境变量添加环境变量添加内存级环境变量永久有效 其他环境变量HOMEPWDSHELLHISTSIZE 自定义环境变量定义取消 本地变量整体理解环境变量环境变量的组织方式Linux 代码获取环境…

【机器人学】7-2.六自由度机器人自干涉检测-计算圆柱体的上下圆心坐标【附MATLAB代码】

目录 前言 机械臂几何参数 机器等效圆柱体坐标确定 MATLAB代码 前言 上一章介绍了机器人自干涉检测的总体算法&#xff0c;提出了算法的三个核心&#xff1a; 一 根据机械臂的几何数据以及DH参数&#xff0c;确定机械臂等效的圆柱体的上下圆心坐标。 二 将一个圆柱体旋转到…

vue.js - 看板娘 Live2d

文中的资源文件在这里&#xff1a;我的资源中&#xff0c;打好包了已经&#xff0c;地址&#xff1a;live2d资源 1、在项目的 src/assets 文件夹中&#xff0c;添加 live2d 的资源文件 2、在 src/components 文件中&#xff0c;编写 live2d的index.vue组件 3、在 App.vue 中…

【重点】人工智能大语言模型技术发展研究报告2024|附下载

人工智能作为引领新一轮科技产业革命的战略性技术和新质生产力重要驱动力&#xff0c;正在引发经济、社会、文化等领域的变革和重塑。 2023 年以来&#xff0c;以ChatGPT、GPT-4 为代表的大模型技术的出台&#xff0c;因其强大的内容生成及多轮对话能力&#xff0c;引发全球新…

MYSQL————数据库的约束

1.约束类型 1.not null&#xff1a;指示某列不能存储null值 2.unique&#xff1a;保证某列的每行必须有唯一值 3.default&#xff1a;规定没有给列赋值时的默认值 4.primary key&#xff1a;not null和unique的结合。确保某列&#xff08;或两个或多个列的结合&#xff09;有唯…

聊聊最近很火的后端即服务

最近&#xff0c;你可能经常听到“后端即服务”&#xff08;Backend as a Service, BaaS&#xff09;这个词。不论是在技术论坛上&#xff0c;还是在开发者社区&#xff0c;BaaS都成了大家讨论的热点。究竟是什么让这个概念如此火爆&#xff1f;今天我们就来聊聊这个话题&#…

TCP粘包和抓包

在 TCP 套接字中&#xff0c;发送和接收缓冲区用于暂存数据&#xff0c;以确保数据的可靠传输。具体来说&#xff0c;TCP 的 socket 收发缓冲区的主要特点和概念如下&#xff1a; 1. 发送缓冲区&#xff08;Send Buffer&#xff09; 定义: 发送缓冲区用于存储待发送的数据。应…

大模型从入门到精通——词向量及知识库介绍

词向量及知识库介绍 1.词向量 1.1 什么是词向量 词向量是一种将单词表示为实数向量的方式。每个单词通过一个高维向量来表示&#xff0c;向量的每一维都是一个实数&#xff0c;这些向量通常位于一个高维空间中。词向量的目标是将语义相似的单词映射到相邻的向量空间中&#…

自定义@ResponseBody以及SpringMVC总结

文章目录 1.需求分析2.目录3.自定义ResponseBody注解4.MonsterController.java5.Monster.java 实现序列化接口6.引入jackson7.Adapter.java 如果有ResponseBody注解就返回json8.测试9.SpringMVC执行流程 1.需求分析 2.目录 3.自定义ResponseBody注解 package com.sunxiansheng…

24暑假算法刷题 | Day39 | 动态规划 VII | LeetCode 198. 打家劫舍,213. 打家劫舍 II,337. 打家劫舍 III

目录 198. 打家劫舍题目描述题解 213. 打家劫舍 II题目描述题解 337. 打家劫舍 III题目描述题解 打家劫舍的一天 &#x1f608; 198. 打家劫舍 点此跳转题目链接 题目描述 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷…

(贪心) LeetCode 135. 分发糖果

原题链接 一. 题目描述 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xf…

OpenCV与AI深度学习 | 基于改进YOLOv8的景区行人检测算法

本文来源公众号“OpenCV与AI深度学习”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;基于改进YOLOv8的景区行人检测算法 作者&#xff1a;贵向泉&#xff0c;刘世清&#xff0c;李立等 来源&#xff1a;《计算机工程》期刊 编…

docker应用

打包传输 1.将镜像打包 #查看帮助文件 docker --help #找到save&#xff0c;可以将镜像保存为一个tar包 docker save --help #查看save使用方式 #查看现有的镜像 docker images # docker save --output centos.tar centos:latest ls ...centos.tar... 可以将tar发送给其他用户…