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

[计算机网络]深度学习传输层TCP协议

💓 博客主页:从零开始的-CodeNinja之路

⏩ 收录专栏:深度学习传输层TCP协议
🎉欢迎大家点赞👍评论📝收藏⭐文章

[计算机网络]深度学习传输层TCP协议

  • 前提概括
    • 一: TCP协议段格式
    • 二:确认应答
    • 三:超时重传
    • 四:连接管理
    • 五:流量控制
    • 六:拥塞控制
    • 七:滑动窗口
    • 八:延迟应答
    • 九:捎带应答
  • TCP小结

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

前提概括

TCP全称为"传输控制协议(Transmission Control Protocol"),要对数据的传输进行⼀个详细的控制;
端口号(Port):标识了⼀个主机上进行通信的不同的应用程序;

在这里插入图片描述
端口号范围划分

  • 0-1023:知名端口号,HTTP,FTP,SSH等这些广为使用的应用层协议,他们的端口号都是固定的.

  • 1024-65535:操作系统动态分配的端口号.客户端程序的端口号,就是由操作系统从这个范围分配 的.

一: TCP协议段格式

在这里插入图片描述
源/目的端⼝号:表示数据是从哪个进程来,到哪个进程去;

  • 32位序号/32位确认号:意思是告诉发送者,我已经收到了哪些数据;

  • 4位TCP报头长度:表示该TCP头部有多少个32位bit(有多少个4字节);所以TCP头部最大长度是15* 4=60

  • 6位标志位:

  1. URG:紧急指针是否有效

  2. ACK:确认号是否有效

  3. PSH:提⽰接收端应⽤程序⽴刻从TCP缓冲区把数据读⾛

  4. RST:对⽅要求重新建⽴连接;我们把携带RST标识的称为复位报⽂段

  5. SYN:请求建⽴连接;我们把携带SYN标识的称为同步报⽂段

  6. FIN:通知对⽅,本端要关闭了,我们称携带FIN标识的为结束报⽂段

  • 16位窗口大小:一次传输数据的容量大小
  • 16位校验和:发送端填充,CRC校验.接收端校验不通过,则认为数据有问题.此处的检验和不光包含TCP首部,也包含TCP数据部分.
  • 16位紧急指针:标识哪部分数据是紧急数据;

二:确认应答

在这里插入图片描述

TCP将每个字节的数据都进行了编号.即为序列号.
在这里插入图片描述

每⼀个ACK都带有对应的确认序列号,意思是告诉发送者,我已经收到了哪些数据;下⼀次你从哪里开始
发.

三:超时重传

在这里插入图片描述

  • 主机A发送数据给B之后,可能因为网络拥堵等原因,数据无法到达主机B;
  • 如果主机A在⼀个特定时间间隔内没有收到B发来的确认应答,就会进行重发;

但是,主机A未收到B发来的确认应答,也可能是因为ACK丢失了;
在这里插入图片描述
因此主机B会收到很多重复数据.那么TCP协议需要能够识别出那些包是重复的包,并且把重复的丢弃掉.
这时候我们可以利用前⾯提到的序列号,就可以很容易做到去重的效果.

四:连接管理

在正常情况下,TCP要经过三次握手建立连接,四次挥手断开连接
在这里插入图片描述
建力连接的意义:

  1. 确认当前通信路径是否畅通.
  2. 协商参数,通信双方共同确认⼀些通信中的必备参数数值.
  3. 验证通信双方的发送和接收能力是否正常

五:流量控制

接收端处理数据的速度是有限的.如果发送端发的太快,导致接收端的缓冲区被打满,这个时候如果发送
端继续发送,就会造成丢包,继而引起丢包重传等等⼀系列连锁反应.

  • 因此TCP支持根据接收端的处理能力,来决定发送端的发送速度.这个机制就叫做流量控制(Flow Control);
  • 接收端将自己可以接收的缓冲区大小放⼊TCP首部中的"窗口大小"字段,通过ACK端通知发送端;
  • 窗口大小字段越大,说明网络的吞吐量越高;
  • 接收端⼀旦发现自己的缓冲区快满了,就会将窗口大小设置成⼀个更小的值通知给发送端;
  • 发送端接受到这个窗⼝之后,就会减慢自己的发送速度;
  • 如果接收端缓冲区满了,就会将窗口置为0;这时发送方不再发送数据,但是需要定期发送⼀个窗⼝探 测数据段,使接收端把窗口大小告诉发送端.

在这里插入图片描述
接收端如何把窗口大小告诉发送端呢?回忆我们的TCP首部中,有⼀个16位窗⼝字段,就是存放了窗⼝大小信息

六:拥塞控制

TCP引入慢启动机制,先发少量的数据,探探路,摸清当前的网络拥堵状态,再决定按照多大的速度传输
数据;
在这里插入图片描述
此处引入⼀个概念程为拥塞窗口

  • 发送开始的时候,定义拥塞窗口大小为1;
  • 每次收到⼀个ACK应答,拥塞窗⼝加1;
  • 每次发送数据包的时候,将拥塞窗⼝和接收端主机反馈的窗口大小做比较,取较小的值作为实际发送 的窗口;

像上面这样的拥塞窗⼝增长速度,是指数级别的."慢启动"只是指初使时慢,但是增⻓速度⾮常快.

  • 为了不增⻓的那么快,因此不能使拥塞窗口单纯的加倍.
  • 此处引⼊⼀个叫做慢启动的阈值
  • 当拥塞窗口超过这个阈值的时候,不再按照指数方式增长,而是按照线性方式增长
  • 当TCP开始启动的时候,慢启动阈值等于窗⼝最大值
  • 在每次超时重发的时候,慢启动阈值会变成原来的⼀半,同时拥塞窗⼝置回1;

少量的丢包,我们仅仅是触发超时重传;大量的丢包,我们就认为网络拥塞;
当TCP通信开始后,网络吞吐量会逐渐上升;随着网络发生拥堵,吞吐量会立刻下降;
在这里插入图片描述
拥塞控制,归根结底是TCP协议想尽可能快的把数据传输给对方,但是又要避免给网络造成太大压力的折中方案.

七:滑动窗口

刚才我们讨论了确认应答策略,对每⼀个发送的数据段,都要给⼀个ACK确认应答.收到ACK后再发送下
⼀个数据段.这样做有⼀个比较大的缺点,就是性能较差.尤其是数据往返的时间较长的时候.既然这样⼀发⼀收的⽅式性能较低,那么我们⼀次发送多条数据,就可以大大的提高性能(其实是将多个段的等待时间重叠在⼀起了).
在这里插入图片描述
窗口大小指的是无需等待确认应答而可以继续发送数据的最⼤值.上图的窗口大小就是4000个字节(四个段).

  • 发送前四个段的时候,不需要等待任何ACK,直接发送;
  • 收到第⼀个ACK后,滑动窗⼝向后移动,继续发送第五个段的数据;依次类推;
  • 操作系统内核为了维护这个滑动窗⼝,需要开辟发送缓冲区来记录当前还有哪些数据没有应答;只 有确认应答过的数据,才能从缓冲区删掉;
  • 窗口越大,则网络的吞吐率就越高;

那么如果出现了丢包,如何进行重传?这里分两种情况讨论.
情况⼀:数据包已经抵达,ACK被丢了.
在这里插入图片描述

这种情况下,部分ACK丢了并不要紧,因为可以通过后续的ACK进行确认;
情况⼆:数据包就直接丢了
在这里插入图片描述

  • 当某⼀段报文段丢失之后,发送端会⼀直收到1001这样的ACK,就像是在提醒发送端"我想要的是 1001"⼀样;

  • 如果发送端主机连续三次收到了同样⼀个"1001"这样的应答,就会将对应的数据1001-2000重新发送;

  • 这个时候接收端收到了1001之后,再次返回的ACK就是7001了(因为2001-7000)接收端其实之前就
    已经收到了,被放到了接收端操作系统内核的接收缓冲区中;

这种机制被称为"高速重发控制"(也叫"快重传").

八:延迟应答

如果接收数据的主机立刻返回ACK应答,这时候返回的窗口可能比较小.

  • 假设接收端缓冲区为1M.⼀次收到了500K的数据;如果立刻应答,返回的窗⼝就是500K;
  • 但实际上可能处理端处理的速度很快,10ms之内就把500K数据从缓冲区消费掉了;
  • 在这种情况下,接收端处理还远没有达到自己的极限,即使窗口再放大一些,也能处理过来;
  • 如果接收端稍微等⼀会再应答,比如等待200ms再应答,那么这个时候返回的窗口大小就是1M;

⼀定要记得,窗⼝越大,网络吞吐量就越大,传输效率就越高.我们的目标是在保证网 络不拥塞的情况下
尽量提高传输效率;
在这里插入图片描述

九:捎带应答

在延迟应答的基础上,我们发现,很多情况下,客户端服务器在应用层也是"⼀发⼀收"的.意味着客户端给服务器说了"How are you",服务器也会给客⼾端回⼀个"Fine,thank you";那么这个时候ACK就可以搭顺风车,和服务器回应的"Fine,thank you"⼀起回给客户端

TCP小结

为什么TCP这么复杂?因为要保证可靠性,同时又尽可能的提高性能.
可靠性:

  • 确认应答

  • 超时重发

  • 连接管理

  • 流量控制

  • 拥塞控制

提高性能:

  • 滑动窗口
  • 快速重传
  • 延迟应答
  • 捎带应答

其他:

  • 定时器(超时重传定时器,定时器,TIME_WAIT定时器等)
    在这里插入图片描述
    如果觉得文章不错,期待你的一键三连哦,你个鼓励是我创作的动力之源,让我们一起加油,顶峰相见!!!💓 💓 💓

相关文章:

[计算机网络]深度学习传输层TCP协议

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录专栏:深度学习传输层TCP协议 🎉欢迎大家点赞👍评论📝收藏⭐文章 [计算机网络]深度学习传输层TCP协议 前提概括一: TCP协议段格式二:确认应答三:超时重传四:…...

动态头部:统一目标检测头部与注意力

摘要 在目标检测中,定位与分类相结合的复杂性导致了各种方法的蓬勃发展。以前的工作试图提高在不同的目标检测头的性能,但未能呈现一个统一的视图。在本文中,我们提出了一种新的动态头部框架来统一目标检测头部和注意力。通过在尺度感知的特…...

【状态估计】深度传感器与深度估计算法(1/3)

深度传感器与深度估计算法 深度传感器概念 获得空间中目标位置或距离的传感器,按接收的媒介波来源可分为主动式和被动式两大范畴,主动式包括激光雷达、雷达、超声波传感器等,被动式主要为单目、多目相机等,同时两大类可组合为混…...

ClickHouse从入门到精通(高级)

第1章 Explain查看执行计划 第2章 建表优化 第3章 ClickHouse语法优化规则 第4章 查询优化 第5章 数据一致性(重点) 第6章 物化视图 第7章 MaterializeMySQL引擎 第8章 常见问题排查...

什么是Docker的容器编排工具,它们之间有何不同?

随着Docker容器技术的广泛应用,容器编排工具成为了自动化部署、扩展和管理容器化应用程序的关键组件。这些工具提供了一种抽象层,帮助开发者和管理员更高效地管理大量的Docker容器,确保它们在不同的主机和环境中能够可靠地运行。目前&#xf…...

qml之Control类型布局讲解,padding属性和Inset属性细讲

1、Control布局图 2、如何理解? *padding和*Inset参数如何理解呢? //main.qml import QtQuick 2.0 import QtQuick.Controls 2.12 import QtQuick.Layouts 1.12 import QtQuick.Controls 1.4 import QtQml 2.12ApplicationWindow {id: windowvisible: …...

【Jvm】性能调优(拓展)Jprofiler如何监控和解决死锁、内存泄露问题

文章目录 Jprofiler简介1.安装及IDEA集成Jprofiler2.如何监控并解决死锁3.如何监控及解决内存泄露(重点)4.总结5.后话 Jprofiler简介 Jprofilers是针对Java开发的性能分析工具(免费试用10天), 可以对Java程序的内存,CPU,线程,GC,锁等进行监控和分析, 1.安装及IDEA集成Jprofil…...

运行错误(竞赛遇到的问题)

在代码提交时会遇见这样的错误: 此处运行错误不同于编译错误和答案错误,运行错误是指是由于在代码运行时发生错误,运行错误可能是由于逻辑错误、数据问题、资源问题等原因引起的。这些错误可能导致程序在运行时出现异常、崩溃。 导致不会显示…...

nodename nor servname provided, or not known

异常信息 在 Maven 打包过程中出现的 nodename nor servname provided, or not known 异常通常是由于 Maven 无法解析某个域名,这可能是因为网络问题、DNS 解析失败或者 Maven 配置中指定的仓库地址错误导致的。这个问题通常出现在 Maven 试图从远程仓库下载依赖时 …...

前端vue金额用逗号分隔

实现效果 代码 template部分 <el-input v-model"state.val"></el-input><div>{{ priceFor(state.val) }}</div> js部分 const state reactive({ val: });const priceFor (val)> {if(!val){return }else if(val.length<4){return…...

vulvhub-----Hacker-KID靶机

打靶详细教程 1.网段探测2.端口服务扫描3.目录扫描4.收集信息burp suite抓包 5.dig命令6.XXE漏洞读取.bashrc文件 7.SSTI漏洞8.提权1.查看python是否具备这个能力2.使用python执行exp.py脚本&#xff0c;如果提权成功&#xff0c;靶机则会开放5600端口 1.网段探测 ┌──(root…...

遨博I20协作臂关节逆解组Matlab可视化

AUBO I20协作臂关节逆解组Matlab可视化 前言1、RTB使用注意点2、代码与效果2.1、完整代码2.2、运行效果 总结 前言 注意&#xff1a;请预先配置好Matlab和RTB机器人工具箱环境&#xff0c;本文使用matlab2022b和RTB10.04版本 工作需要&#xff0c;使用matlab实现对六轴机械臂…...

力扣题目训练(15)

2024年2月8日力扣题目训练 2024年2月8日力扣题目训练507. 完美数520. 检测大写字母521. 最长特殊序列 Ⅰ221. 最大正方形237. 删除链表中的节点115. 不同的子序列 2024年2月8日力扣题目训练 2024年2月8日第十五天编程训练&#xff0c;今天主要是进行一些题训练&#xff0c;包括…...

PCB差模辐射是如何产生的

在电路应用中,高频时钟信号往往会采用差分线传输模式,其优点是在提高速率的同时减小功耗和提高抗扰度,因此,差模辐射就成为电路正常工作的结果,是电流流过导体形成的环路所产生,差模辐射模型可以被模拟为一个小环形天线,对于一个面积为A的小环路,载有电流Idm,在远场中…...

车载诊断协议DoIP系列 —— 协议中术语解释和定义

车载诊断协议DoIP系列 —— 协议中术语解释和定义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,…...

【退役之重学前端】关于在控制台得到undefined的事

在浏览器控制台中&#xff0c;undefined 会时不时地&#xff0c;在我不想看到的地方出现。如果你遇到相同的问题&#xff0c;在这篇博客中你会得到答案。 先来看代码块 function test(){} test()//undefined再看下一个代码块 function test(){return 1; } test()//1再来看一个…...

指数和估计六大问题

1955年英国著名数学家R.A.Rankin在牛津大学出版的数学刊物Quart.J.Math.发表了论文&#xff08;现 FRS D.R.Heath-Brown为主编&#xff09;&#xff0c;专门讲van der Corput方法产生的指数对理论&#xff08;1933年E.Phillips提出的精彩理论&#xff0c;好友曲阜师范大学毕业中…...

【软件相关】基于Alist挂载云盘到本地文件资源管理器

文章目录 0 前言1 Alist挂载云盘2 RaiDrive配置3 rclone配置 0 前言 因为最近在研究各种云盘存储影视资源的方法&#xff0c;无意间看到一个教程是利用软件将云盘挂载到本地的资源管理器&#xff0c;这样就能实现类似本地文件操作的方式来操作云盘文件&#xff0c;还是有点意思…...

Java多线程系列——锁

0.引言 在并发编程中&#xff0c;锁是一种重要的同步机制&#xff0c;用于控制对共享资源的访问。Java 提供了多种锁的实现&#xff0c;每种锁都有不同的特性和适用场景。本文将深入介绍 Java 中常见的锁类型&#xff0c;包括内置锁、显式锁、读写锁等&#xff0c;并讨论它们的…...

蓝牙BLE学习-GAP

1.概述 GAP层&#xff08;Generic access profile-通用访问配置文件&#xff09;。GAP是对LL层payload&#xff08;有效数据包&#xff09;如何进行解析的两种方式的一种&#xff0c;而且也是最简单的一种。GAP简单的对LL payload进行一些规范和定义&#xff0c;因此GAP能实现的…...

算法训练营day28(补), 贪心算法2

//122. 买卖股票的最佳时机 II func maxProfit(prices []int) int { result : 0 //利润总和 for i : 1; i < len(prices); i { if prices[i]-prices[i-1] > 0 { result result (prices[i] - prices[i-1]) } } return result } //55. 跳跃游戏 func canJump(nums []…...

Vue核心基础4:绑定样式、条件渲染、列表渲染

1 绑定样式 【代码】 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>绑定样式</title><s…...

go-zero读取mysql部分字段

读取部分字段&#xff0c;使用函数 QueryRowPartialCtx 。 假设有如下一张表&#xff1a; CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ctime DATETIME);要读取字段 ctime 值。 定义一结构体&#xff1a; type X struct {state int db:"…...

反转一个单链表

反转一个单链表 题意&#xff1a;反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路 需要虚拟节点么&#xff1f; 答&#xff1a;不需要&#xff0c;因为没有删除节点&#xff0c;只是改变了节点的指向。 遍…...

拿捏c语言指针(中)

前言 书接上回 拿捏c语言指针&#xff08;上&#xff09; 此篇主要讲解的是指针与数组之间的爱恨情仇&#xff0c;跟着我的脚步一起来看看吧~ 创造不易&#xff0c;可以帮忙点点赞吗 如有差错&#xff0c;欢迎指出 理解数组名 数组名是首元素地址 例外 1.sizeof&#xff0…...

鸿蒙语言ArkTS(更好的生产力与性能)

ArkTS是鸿蒙生态的应用开发语言 ArkTS提供了声明式UI范式、状态管理支持等相应的能力&#xff0c;让开发者可以以更简洁、更自然的方式开发应用。 同时&#xff0c;它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;进一步通过规范强化静态检…...

VBA技术资料MF120:打印固定标题行列

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…...

MongoDB聚合运算符:$add

$add运算符将将数字相加或将数字和日期相加。如果参数之一是日期&#xff0c;则 $add会将其他参数视为毫秒&#xff0c;并添加到日期中。 语法 { $add: [ <expression1>, <expression2>, ... ] }参数可以是任何有效的表达式&#xff0c;只要能否解析为数值或日期…...

《剑指Offer》笔记题解思路技巧优化 Java版本——新版leetcode_Part_4

《剑指Offer》笔记&题解&思路&技巧&优化_Part_4 &#x1f60d;&#x1f60d;&#x1f60d; 相知&#x1f64c;&#x1f64c;&#x1f64c; 相识&#x1f622;&#x1f622;&#x1f622; 开始刷题1. LCR 148. 验证图书取出顺序——栈的压入、弹出序列2. LCR 14…...

数据库第四次实验

目录 1.建立数据表并插入数据 2 视图的创建 2.1 行列子集视图的创建 2.2 多表视图 2.3视图上建立视图 2.4分组视图 2.5带表达式的视图 3 删除视图 ​​​​​​​​​​​​​​4 查询视图 ​​​​​​​5 更新视图 5.1 修改某一个属性 5.2 删除一条数据 5.3 插入…...

基于PPNSA+扰动算子的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于PPNSA扰动算子的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图和优化收敛曲线。 2.测试软件版本以及运行结果展示 MATLAB2022a版本运行…...

UnityShader——06UnityShader介绍

UnityShader介绍 UnityShader的基础ShaderLab UnityShader属性块介绍 Properties {//和public变量一样会显示在Unity的inspector面板上//_MainTex为变量名&#xff0c;在属性里的变量一般会加下划线&#xff0c;来区分参数变量和临时变量//Texture为变量命名//2D为类型&…...

人工智能学习与实训笔记(一):零基础理解神经网络

人工智能专栏文章汇总&#xff1a;人工智能学习专栏文章汇总-CSDN博客 本篇目录 一、什么是神经网络模型 二、机器学习的类型 2.1 监督学习 2.2 无监督学习 2.3 半监督学习 2.4 强化学习 三、网络模型结构基础 3.1 单层网络 ​编辑 3.2 多层网络 3.3 非线性多层网络…...

LeetCode刷题小记 一、【数组】

LeetCode刷题小记 一、【数组】 文章目录 LeetCode刷题小记 一、【数组】写在前面1. 数组1.1 理论基础1.2 二分查找1.3 移除元素1.4 有序数组的平方1.5 长度最小的子数组1.6 螺旋矩阵II Reference 写在前面 本系列笔记主要作为笔者刷题的题解&#xff0c;所用的语言为Python3&…...

iOS总体框架介绍和详尽说明

iOS是由苹果公司开发的移动操作系统&#xff0c;为iPhone、iPad、iPod Touch等设备提供支持。iOS采用了基于Unix的核心&#xff08;称为Darwin&#xff09;&#xff0c;并采用了类似于Mac OS X的图形用户界面。以下是iOS的总体框架介绍和详尽说明&#xff1a; UIKit框架&#…...

【C++】const与constexpr详解

1. constexpr&#xff1a;常量表达式 所谓常量表达式,指的就是由多个(≥1)常量组成的表达式。换句话说,如果表达式中的成员都是常量,那么该表达式就是一个常量表达式。这也意味着&#xff0c;常量表达式一旦确定&#xff0c;其值将无法修改。 实际开发中&#xff0c;我们经常会…...

蓝桥杯:日期统计讲解(C++)

日期统计 本题来自于&#xff1a;2023年十四届省赛大学B组真题 主要考察&#xff1a;暴力。 代码放在下面&#xff0c;代码中重要的细节全都写了注释&#xff0c;非常清晰明了&#xff1a; #include <bits/stdc.h> //万能头文件 using namespace std;int main() {…...

Python re.findall()中的正则表达式包含多个括号时的返回值——包含元组的列表

当re.findall()中的正则表达式包含多个括号时&#xff0c;返回值是一个列表&#xff0c;其中每个元素都是一个元组。这个元组的长度与正则表达式中括号的数量相同&#xff0c;元组中的每个元素都是与相应括号中的模式匹配的文本。 import re # 定义一个包含三个括号的正则表达…...

Python——列表

一、列表的特性介绍 列表和字符串⼀样也是序列类型的数据 列表内的元素直接⽤英⽂的逗号隔开&#xff0c;元素是可变的&#xff0c;所以列表是可变的数据类型&#xff0c;⽽字符串不是。 列表的元素可以是 Python 中的任何类型的数据对象。如&#xff1a;字符串、…...

无人机图像识别技术研究及应用,无人机AI算法技术理论,无人机飞行控制识别算法详解

在现代科技领域中&#xff0c;无人机技术是一个备受瞩目的领域。随着人们对无人机应用的需求在不断增加&#xff0c;无人机技术也在不断发展和改进。在众多的无人机技术中&#xff0c;无人机图像识别技术是其中之一。 无人机图像识别技术是利用计算机视觉技术对无人机拍摄的图像…...

清华AutoGPT:掀起AI新浪潮,与GPT4.0一较高下

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域迎来了一个又一个突破。最近&#xff0c;清华大学研发的AutoGPT成为了业界的焦点。这款AI模型以其出色的性能&#xff0c;展现了中国在AI领域的强大实力。 目录 引言&…...

人工智能学习与实训笔记(二):神经网络之图像分类问题

人工智能专栏文章汇总&#xff1a;人工智能学习专栏文章汇总-CSDN博客 目录 二、图像分类问题 2.1 尝试使用全连接神经网络 2.2 引入卷积神经网络 2.3 分类函数Softmax 2.4 交叉熵损失函数 2.5 学习率优化算法 2.6 图像预处理算法 2.6.1 随机改变亮暗、对比度和颜色等 …...

SSM框架,spring-aop的学习

代理模式 二十三种设计模式中的一种&#xff0c;属于结构型模式。它的作用就是通过提供一个代理类&#xff0c;让我们在调用目标方法的时候&#xff0c;不再是直接对目标方法进行调用&#xff0c;而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来…...

【设计模式】4、策略模式

文章目录 一、问题二、解决方案2.1 真实世界的类比2.2 策略模式结构2.3 适用场景2.4 实现方式2.5 优缺点2.6 与其他模式的关系 三、示例代码3.1 go3.2 rust 策略模式是一种行为设计模式&#xff0c;它能定义一系列算法&#xff0c;把每种算法分别放入独立的类中&#xff0c;以是…...

【C++学习手札】多态:掌握面向对象编程的动态绑定与继承机制(深入)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;世界上的另一个我 1:02━━━━━━️&#x1f49f;──────── 3:58 &#x1f504; ◀️ ⏸ ▶️ ☰ &am…...

【机构vip教程】Android SDK手机测试环境搭建

Android SDK 的安装和环境变量的配置 前置条件&#xff1a;需已安装 jdk1.8及 以上版本 1、下载Android SDK&#xff0c;解压后即可&#xff08;全英文路径&#xff09;&#xff1b;下载地址&#xff1a;http://tools.android-studio.org/index.php/sdk 2、新建一个环境变量&…...

2024.2.18

使用fgets统计给定文件的行数 #include<stdio.h> #include<string.h> int main(int argc, const char *argv[]) {FILE *fpNULL;if((fpfopen("./test.txt","w"))NULL){perror("open err");return -1;}fputc(h,fp);fputc(\n,fp);fput…...

Haproxy实验

环境: servera(Haproxy):192.168.233.132 serverb(web1):192.168.233.144 serverc(web2):192.168.233.140 serverd(客户端):192.168.233.141 servera(Haproxy): yum install haproxy -y vim /etc/haproxy/haproxy.cfg(配置文件) # 设置日志&#…...

CSRNET图像修复,DNN

CSRNET图像修复 CSRNET图像修复&#xff0c;只需要OPENCV的DNN...

004 - Hugo, 分类

004 - Hugo, 分类content文件夹 004 - Hugo, 分类 content文件夹 ├─.obsidian ├─categories │ ├─Python │ └─Test ├─page │ ├─about │ ├─archives │ ├─links │ └─search └─post├─chinese-test├─emoji-support├─Git教程├─Hugo分类├─…...