当前位置: 首页 > news >正文

【深度学习基础】Pytorch框架CV开发(1)基础铺垫

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录

  • 简单介绍下Pytorch
  • Pytorch基础
    • 张量
    • 创建张量tensor
    • 自动梯度
    • 线性回归
    • 逻辑回归
    • 人工神经网络
    • 感知机
    • 反向传播
  • Pytorch中的基础数据集

简单介绍下Pytorch

深度学习框架的作用:通过深度学习框架搭建神经网络;

什么是Pytorch?:Pytorch是Facebook的AI研究团队开发,以python优先的深度学习框架。

tensor的作用:tensor是Pytorch中最基本的构建,能够像Numpy一样进行矩阵运算,同时支持GPU加速。亦可以与Numpy相互转换。

tensor学习的重点:重点是tensor的操作和数学运算,难点是variable和自动求导。

tourch包括两种操作
1.数学运算,这个跟python中的数学运算一致。
2.高级操作

导入Pytorch的方法:import torch

Pytorch基础

张量

什么是张量:Pytorch中任何数据都是张量,分为一维和多维张量,其中三维张量就是图像。

在这里插入图片描述

创建张量tensor

创建空张量:a=torch.empty(2,3)或是a=torch.zeros(2,3)
创建随机张量:a=torch.random(3,3) 创建自定义张量: a=torch.tensor([1,2,3,2,4,4])#一维
a=torch.tensor([[1,2,3],[2,4,4]])#二维

张量算术运算:规则跟数组一样,相±,形状必须一样;*/要求参考数组的表达。 例如: C=a.add(b)
xy=torch.matmul(x,y)

张量形状变换:使用view函数,张量名2=张量名1.view(新形状) 查看张量形状:张量名.size() 张量与数组之间的数据转换:
张量转成数组:数组名=张量名.Numpy() 数组转成张量:张量名=torch.from_Numpy(数组名)

张量可以理解为矩阵。 张量里面的review跟数组内的reshape一样。 matmul翻译为矩阵相乘

自动梯度

什么是自动梯度:就是自动求偏导数,计算梯度就是计算偏导数。

在这里插入图片描述

如何计算梯度:使用函数backward()
例如:
在这里插入图片描述
输出结果的作用:帮助调整输入,也就是深度学习的目的。最终得到一个正确的预测模型。
计算梯度就是反向计算,也就是求导。

线性回归

什么是线性回归?线性规划根据输入的数据拟合曲线。通过一堆点生成一条直线,这条直线符合y=kx+b这样的一元一次函数。采用的方法(拟合方式)是最小二乘法,也就是每个点的纵坐标(真实值)与线上的预测值之间的误差和最小。
在这里插入图片描述

Pytorch中如何求线性回归?使用函数:torch.nn.liner(input,output)
其中的输入是x,输出是y。
如何计算真实值与预测值之间的误差?
公式:
在这里插入图片描述
使用的函数:torch.nn.MSELoss

更新参数(k和d)的方法:参数=参数-学习率*参数梯度
计算损失值不断循环往复,直到这个损失值到最小值才停止更新。

上述不断更新参数的过程在Pytorch中如何实现?
使用下面的函数即可。使用SGD优化器不断拟合参数
在这里插入图片描述
如何构建正确的线性回归模型?
1.构建初始模型
2.计算损失
3.更新参数(模型训练)
数据+模型+损失+优化

通过一堆点生成一条直线,这个过程叫做拟合。
线性回归的过程就是找到合适的k和b,使得真实值与预测值的差值(损失值)最小。

逻辑回归

什么是逻辑回归?在线性组合的基础上加上非线性变换。

在这里插入图片描述
在这里插入图片描述
逻辑回归在理解了线性回归的基础上,理解起来比较简单,其实是对线性的情况进行复杂化,因为实际情况中的很多关系不是线性的。

人工神经网络

人工神经网络的出现:线性回归是预先知道y-x之间的关系的,而实际上很多时候是不知道两者之间的关系,就是说y-x很可能不是线性的,甚至数据量是否庞大,这个时候人工神经网络出现了,可以帮助构建y-x之间的模型关系。人工神经网络本意是为了模仿人的大脑神经网络,希望做到像人脑一样思考,因此提出了人工神经网络这个概念。

人工神经网络发展历史
在这里插入图片描述

感知机

感知机的出现:线性回归都是单个变量之间的关系,为应对更为复杂的实际问题,出现了感知机这一概念,感知机的输入有多个x,输出y由多个线性回归组合而成,是一个多元一次函数。所求出的y为和,通过激活函数的操作,判断是否将其激活。这个就是比逻辑回归更加复杂点,多增加了输入量。
感知机也是在模仿神经网络,其中的结点就是神经元。
在这里插入图片描述

反向传播

反向传播算法的两个阶段:前向传播阶段和反向传播阶段。
前向传播的作用:从输入层到隐藏层到输出层这一个过程,输出预测值,计算预测值跟标签值之间的差值。
反向传播的作用:差值从输出层反向传播给输入层,若差值过大就会重新计算参数,进行优化。优化后的参数再一次进行前向传播,如此往复循环,最终输出最小差值,停止参数更新。也说明预测值越来越接近真实值。
反向传播算法的分类:静态反向传播;循环反向传播。
在这里插入图片描述
反向传播的数学原理:自动梯度求导(遵循链式求导法则)
在这里插入图片描述
E是损失误差,net是输入值,o是输入值经过激活函数后的输出值。
E对wi求出的导数越大说明对E的贡献越大,可以通过减小w值来实现E的缩小,得到新的wi值,新的值重新进行训练,得到新的E值,通过判断E的大小考虑是否再进行上述的轮回,直至最小(也就是训练结束)。

反向传播举例:
在这里插入图片描述

反向传播的训练方法
1.随机/世故梯度下降:计算梯度基于单个样本,计算速度快,很容易收敛。 每个样本都要下降一次。
2.标准/批量梯度下降:计算基于整个数据集,计算速度慢,不容易收敛。 整个样本全部计算完后下降一次。
3.mini_batch梯度下降:而实际训练中都不采用上述两种方法,而采用小批量梯度下降,也就是batch_size的值,这个值要根据显卡的内存去设置。 优点是:收敛速度快,算法精度高。
在这里插入图片描述
线性组合加上非线性变换就是感知机。
总结:前向传播用于产生错误;反向传播用于更新参数

Pytorch中的基础数据集

Pytoch内置数据集:Pytorch内置需要经典的数据集,可以直接拿来使用。
在这里插入图片描述
数据集的读取和加载:dataset用于读取数据集;dataloader用于加载数据集。
在这里插入图片描述
dataset也就是封装好了许多经典的数据集,我们没必要去网上下载了,存储在torchvision这个模块里面。在Pytorch里直接使用dataloader就可以下载了。

相关文章:

【深度学习基础】Pytorch框架CV开发(1)基础铺垫

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...

uniapp原生插件之安卓热敏打印机打印插件

插件介绍 安卓热敏打印机打印插件,自动授权,打印机连接监听,打印文本,条形码,二维码,切纸,打印机状态,打印结果查询等 插件地址 安卓热敏打印机打印插件 - DCloud 插件市场 超级…...

巴菲特:卖比亚迪有助于资金配置

巴菲特表示,未来可能会有更多银行倒闭,但储户不必担心,他警告说,陷入困境的银行股不是价值投资,因为即使政府采取行动保护储户,股东的权益也会受到损失。他称,将加大对日本综合商社的投资&#…...

香港服务器有哪些特点

香港服务器具有以下特点: 速度快:香港服务器地理位置优越,与内地服务器相比,网络延迟更低,访问速度更快。 稳定性高:香港服务器位于全球重要的金融中心,网络环境稳定,服务器稳定性高…...

Leetcode76最小覆盖子串

思路:滑动窗口思想 1. 滑动窗口是什么:用一个滑动窗口为覆盖目标子串的字符串 2.怎么移动窗口:当不满足覆盖时右指针移动扩大范围,当覆盖了就移动左指针缩减范围直到再次不覆盖 3. 怎么判断是否覆盖:这里使用两个哈…...

GD32 单片机 硬件I2C死锁解决方法

死锁的复现方式 在I2C恢复函数下个断点(检测到I2C多次超时之后,应该能跳转到I2C恢复函数)使用镊子,将SCL与SDA短接,很快就能看到程序停到恢复函数的断点上,此时再执行恢复函数,看能否正常走出&…...

SPSS两相关样本检验

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…...

【vscode远程开发】使用内网穿透实现在公网环境下远程访问

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…...

KaiwuDB 内核解析 - SQL 查询的生命周期

一、概述 KaiwuDB 内核解析系列共分上下两部分,本文是该系列的第一部分,主要涵盖了网络协议到 SQL 执行器,解释 KaiwuDB 如何执行 SQL 查询,包括系统各个组件的执行路径(网络协议、SQL 会话管理、解析器、执行计划及优…...

2023.11.03 homework

小学4年级数学 1 2 3 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 19…...

ssm在线互助答疑系统-计算机毕设 附源码 20862

ssm在线互助答疑系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中&#…...

MySQL中如何书写update避免锁表

1. 什么是MySQL锁表? MySQL锁表是指在对某个数据表进行读写操作时,为了保证数据的一致性和完整性,系统会对该数据表进行锁定,防止其他用户对该表进行操作。 2. 为什么会出现锁表? 当多个用户同时对同一个数据表进行…...

Mysql库操作

一:库的操作 1:创建数据库 mysql> create database test1; Query OK, 1 row affected (0.00 sec)mysql> create database test2 charsetutf8;create database test2 character utf8;Query OK, 1 row affected (0.00 sec)mysql> create databa…...

C#中LINQtoSQL只能在.NetFramework下使用,不能在.net 下使用

目录 一、在net7.0下无法实现LINQtoSQL 1.VS上建立数据库连接 2.VS上创建LINQtoSQL 二、在.NetFramework4.8下成功实现LINQtoSQL 1.VS上建立数据库连接 2.VS上创建LINQtoSQL 三、结论 四、理由 本文是个人观点,因为我百般努力在.net7.0下无法实现LINQtoSQL的…...

Nacos 的底层实现原理 注册中心的两种调用方式

目录 1. Nacos 的底层实现原理 1.1 配置中心自动刷新实现原理 1.2 注册中心底层实现原理 2. Nacos 注册中心的两种调用方式 2.1 RestTemplate Spring Cloud LoadBalancer 的调用方式 2.2 使用 OpenFeign Spring Cloud LoadBalancer 1. Nacos 的底层实现原理 1.1 配置中心…...

视频编码格式和文件格式(多媒体容器格式)的关系

视频编码格式和文件格式是两个不同的概念。 视频编码格式指的是将视频信号转换为数字信号时所采用的压缩算法标准。它决定了如何将原始视频数据压缩为较小的文件大小,以及如何解码回原始视频数据。目前常见的视频编码格式有 H.264、H.265、VP9 等。 文件格式则是指…...

RHCSA --- 第二天

一、查看IP地址 [rootlocalhost ~] ip ad 对应四张网卡 第一张&#xff1a;环回网卡&#xff08;用于测试&#xff09; 第二张&#xff08;主要&#xff09;&#xff1a;以太网网卡&#xff08;ens160&#xff09; 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP>…...

作为一个初学者,入门大模型其实没那么难

在生成式 AI 盛行的当下&#xff0c;你是否被这种技术所折服&#xff0c;例如输入一段简简单单的文字&#xff0c;转眼之间&#xff0c;一幅精美的图片&#xff0c;又或者是文笔流畅的文字就展现在你的面前。 相信很多人有这种想法&#xff0c;认为生成式 AI 深不可测&#xf…...

【QT】基本的绘图操作和高级绘图

基本绘图 新建项目 重新绘图事件 画基本图形 #include "widget.h" #include "ui_widget.h" #include <QPainter>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }/…...

layer.open再次渲染html,子页面调用在父页面打开弹出层,渲染html

使用的版本 layui-v2.5.6是在父页面弹出层&#xff0c;显示&#xff1b;调用的是父页面的layer.open(); 父页面&#xff1a; <link href"/layui/css/layui.css" rel"stylesheet" /> <script src"/layui/layui.all.js"></script…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...