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

YOLO物体检测-系列教程1:YOLOV1整体解读(预选框/置信度/分类任/回归任务/损失函数/公式解析/置信度/非极大值抑制)

🎈🎈🎈YOLO 系列教程 总目录

YOLOV1整体解读
YOLOV2整体解读

YOLOV1提出论文:You Only Look Once: Unified, Real-Time Object Detection

1、物体检测经典方法

  • two-stage(两阶段):Faster-rcnn Mask-Rcnn系列
  • one-stage(单阶段):YOLO系列
  • 最核心的优势:速度非常快,适合做实时检测任务!
  • 但是缺点也是有的,效果通常情况下不会太好!

2、机器学习分类任务评价指标

机器学习 分类任务 评价指标

3、YOLOV1简介

  • 经典的物体检测算法
  • You Only Look Once,名字就已经说明了一切
  • 把检测问题转化为回归问题,一个CNN就搞定了
  • 可以对视频进行检测,应用领域非常广

只需要一个起始位置坐标,加上长和宽,即(x,y,w,h),就能把一个物体框出来了,这就是转化为回归问题

YOLO算法,在当时15、16年等了很久,因为Faster R-CNN精度高,但是太慢了,速度在当时比精度更重要

4、YOLOV1预测流程

  1. 把图像分词S*S个格子
  2. 遍历每个格子,如果哪一个物体的中心点落在了这个格子,那么这个格子就负责预测这个物体
  3. 得到了若干个格子,遍历每一个格子
  4. 根据当前的格子都生成两个候选框,找出一个接近的框
  5. 现在有了一个这个物体的位置,需要调整框的长宽来得到最终结果
  6. 在调整的过程中会得到很多个候选框,每个候选框都会得到一个confidence值(即置信度,这个置信度表示了当前框住的部分是否是一个我们需要检测的物体)
  7. 置信度低的框会被过滤掉(因为目标格子可能会有多个,但是不一定都符合)

总结

首先输入就是一个S*S个格子,每一个格子都产生两个候选框,产生两个候选框进行微调,但是不是所有候选框都进行微调,需要切实有物体的,什么时候有物体,通过执行度来判断

5、整体网络架构

输入图像是一个448*448,是一个固定值(这个固定值并不意味着只能检测固定大小的东西,这个固定值是通过openCV的resize到固定值得到,里面的物体会进行缩放,最后的框会映射到一个完整的原始图像中),这个固定值也导致了一些问题,在v1版本中有一定的局限性

  1. 输入数据(448,448,3)
  2. 经过20层修改的GoogLeNet,得到(14,14,1024)
  3. 经过2次Conv+relu,得到(14,14,1024)
  4. 经过2次Conv+relu,得到(7,7,1024)
  5. 一次拉平操作+FC+relu,得到(4096,1)
  6. 一次全连接(1470,1)
  7. reshape(7,7,30)
  8. 生成检测

在这里插入图片描述

在网络的最后得到一个(7,7,30)的特征图,这个特征图表示的意义:77表示前面提到的SS个grid格子,在7*7的格子中,每一个格子都有30个值,每一个格子都要预测出30个值。

30个值的意义:

  • 7*7个格子分别对应 B 1 B_1 B1 B 2 B_2 B2两个框,比如 B 1 B_1 B1框,对应了4个值 ( x 1 , y 1 , w 1 , b 1 ) (x_1,y_1,w_1,b_1) x1y1w1b1就可以表示成一个唯一的框,但是这里的 x 1 和 y 1 x_1和y_1 x1y1不是一个具体的坐标值,是经过归一化后得到的一个在0到1之间的相对值
  • 因此 B 2 B_2 B2框,也对应了4个值 ( x 2 , y 2 , w 2 , b 2 ) (x_2,y_2,w_2,b_2) x2y2w2b2
  • 此外每一个框,是不是有框住了物体呢?有一个置信度C值。
  • 因此 B 1 B_1 B1框,对应5个值 ( x 1 , y 1 , w 1 , b 1 , C 1 ) (x_1,y_1,w_1,b_1,C_1) x1y1w1b1C1 B 2 B_2 B2框,对应了5个值 ( x 2 , y 2 , w 2 , b 2 , C 2 ) (x_2,y_2,w_2,b_2,C_2) x2y2w2b2C2
  • 在前面提到了一共有30个值,前10个对应了这10个值,后面的20个值,则是对应了20分类,也就是对应了20个类别的概率值。

了解了30个值的意义,就了解了(7,7,30),就基本懂了yolo-v1了

6、损失函数计算公式

在这里插入图片描述

6.1 每个数字的意义

前面我们已经解释了每个数字的意义

  • 10 = (X,Y,W,H,C)* 2
  • 当前数据集有20个类别
  • 7*7代表最终网格的大小
  • SS(B*5+C)

6.2 坐标回归误差(中心点定位)

位置损失计算的是(X,Y,W,H)这4个值和真实值之间的误差
前面我们仔细解释了各项参数的含义,下面陆续给出整个损失计算公式,首先是位置损失,位置损失又包含两部分,分别是坐标和长宽,不是一个具体的坐标值,是经过归一化后得到的一个在0到1之间的相对值
λ c o o r d ∑ i = 0 S 2 ∑ j = 0 B 1 i j o b j [ ( x i − x ^ i ) 2 + ( y i − y ^ i ) 2 ] λ_{coord}\sum_{i=0}^{S^2}\sum_{j=0}^{B}1^{obj}_{ij}[(x_i-\hat{x}_i)^2+(y_i-\hat{y}_i)^2] λcoordi=0S2j=0B1ijobj[(xix^i)2+(yiy^i)2]

  1. λ c o o r d λ_{coord} λcoord=5:超参数,坐标损失的权重
  2. ∑ i = 0 S 2 \sum_{i=0}^{S^2} i=0S2:遍历所有的grid cell格子
  3. ∑ j = 0 B \sum_{j=0}^{B} j=0B:遍历所有的bounding box候选框
  4. 指示函数 1 i j o b j 1^{obj}_{ij} 1ijobj:挑选负责检测物体的bbox
  5. ( x i − x ^ i ) 2 + ( y i − y ^ i ) 2 (x_i-\hat{x}_i)^2+(y_i-\hat{y}_i)^2 (xix^i)2+(yiy^i)2:中心点定位 预测值标签值 的差的平方和

6.3 坐标回归误差(长宽定位)

+ λ c o o r d ∑ i = 0 S 2 ∑ j = 0 B 1 i j o b j [ ( w i − w ^ i ) 2 + ( h i − h ^ i ) 2 ] +λ_{coord}\sum_{i=0}^{S^2}\sum_{j=0}^{B}1^{obj}_{ij}[(\sqrt{w_i}-\sqrt{\hat{w}_i})^2+(\sqrt{h_i}-\sqrt{\hat{h}_i})^2] +λcoordi=0S2j=0B1ijobj[(wi w^i )2+(hi h^i )2]

  1. λ c o o r d λ_{coord} λcoord=5:超参数,坐标损失的权重
  2. ∑ i = 0 S 2 \sum_{i=0}^{S^2} i=0S2:遍历所有的grid cell格子
  3. ∑ j = 0 B \sum_{j=0}^{B} j=0B:遍历所有的bounding box候选框
  4. 指示函数 1 i j o b j 1^{obj}_{ij} 1ijobj:挑选负责检测物体的bbox
  5. ( w i − w ^ i ) 2 + ( h i − h ^ i ) 2 (\sqrt{w_i}-\sqrt{\hat{w}_i})^2+(\sqrt{h_i}-\sqrt{\hat{h}_i})^2 (wi w^i )2+(hi h^i )2 :宽高定位 预测值标签值 算术平方根的差的平方和

求根号能使小框对误差更敏感

6.4 置信度回归误差(含有object)

主要是判断当前预测的是前景还是背景,含有object物体即为前景
∑ i = 0 S 2 ∑ j = 0 B 1 i j o b j ( C i − C ^ i ) 2 \sum_{i=0}^{S^2}\sum_{j=0}^{B}1^{obj}_{ij}(C_i-\hat{C}_i)^2 i=0S2j=0B1ijobj(CiC^i)2

  1. ∑ i = 0 S 2 \sum_{i=0}^{S^2} i=0S2:遍历所有的grid cell格子
  2. ∑ j = 0 B \sum_{j=0}^{B} j=0B:遍历所有的bounding box候选框
  3. 指示函数 1 i j o b j 1^{obj}_{ij} 1ijobj:挑选负责检测物体的bbox
  4. ( C i − C ^ i ) 2 : (C_i-\hat{C}_i)^2: (CiC^i)2 预测值标签值差的平方和
  5. C i C_i Ci :从模型正向推断结果为SS(B*5+C)维向量找到这个bbox的confidence score
  6. C ^ i \hat{C}_i C^i :计算这个bbox与ground truth的IOU

6.5 置信度回归误差(不含有object)

λ n o o b j ∑ i = 0 S 2 ∑ j = 0 B 1 i j n o o b j ( C i − C ^ i ) 2 λ_{noobj}\sum_{i=0}^{S^2}\sum_{j=0}^{B}1^{noobj}_{ij}(C_i-\hat{C}_i)^2 λnoobji=0S2j=0B1ijnoobj(CiC^i)2

  1. λ n o o b j = 0.5 λ_{noobj}=0.5 λnoobj=0.5:超参数,非目标置信度损失的权重
  2. ∑ i = 0 S 2 \sum_{i=0}^{S^2} i=0S2:遍历所有的grid cell格子
  3. ∑ j = 0 B \sum_{j=0}^{B} j=0B:遍历所有的bounding box候选框
  4. 指示函数 1 i j n o o b j 1^{noobj}_{ij} 1ijnoobj:挑选不负责检测物体的bbox
  5. ( C i − C ^ i ) 2 (C_i-\hat{C}_i)^2 (CiC^i)2预测值标签值差的平方和

6.6 分类误差

∑ i = 0 S 2 1 i o b j ∑ C ∈ c l a s s e s ( p i ( C ) − p ^ i ( c ) ) 2 \sum_{i=0}^{S^2}1^{obj}_{i}\sum_{C∈classes}(p_i(C)-\hat{p}_i(c))^2 i=0S21iobjCclasses(pi(C)p^i(c))2

  1. ∑ i = 0 S 2 \sum_{i=0}^{S^2} i=0S2:遍历所有的grid cell格子
  2. 1 i o b j 1^{obj}_{i} 1iobj:挑选不负责检测物体的bbox
  3. ∑ C ∈ c l a s s e s \sum_{C∈classes} Cclasses:遍历所有类别

7、指示函数

前面的误差计算公式提到了三个指示函数:

7.1 第1个 1 i o b j 1^{obj}_{i} 1iobj

1 i o b j = { 1 , 如果第  i 个网格单元包含目标。 0 , 否则。 1^{obj}_{i} = \begin{cases} 1, & \text{如果第 } i \text{ 个网格单元包含目标。} \\ 0, & \text{否则。} \end{cases} 1iobj={1,0,如果第 i 个网格单元包含目标。否则。

1 i o b j 1^{obj}_{i} 1iobj:第i个grid cell是否包含物体,也即是否有groud truth框的中心点落在grid cell中,若有则为1,否则为0

7.2 第2个 1 i j o b j 1^{obj}_{ij} 1ijobj

1 i j o b j = { 1 , 如果第  i 个网格单元中的第  j 个边界框预测到了目标。 0 , 否则。 1^{obj}_{ij} = \begin{cases} 1, & \text{如果第 } i \text{ 个网格单元中的第 } j \text{ 个边界框预测到了目标。} \\ 0, & \text{否则。} \end{cases} 1ijobj={1,0,如果第 i 个网格单元中的第 j 个边界框预测到了目标。否则。
1 i j n o o b j 1^{noobj}_{ij} 1ijnoobj:第i个grid cell的第j个bounding box若负责预测物体则为1,否则为0

7.3 第3个 1 i j n o o b j 1^{noobj}_{ij} 1ijnoobj

1 i j n o o b j = { 1 , 如果第  i 个网格单元中的第  j 个边界框没有预测到目标。 0 , 否则。 1^{noobj}_{ij} = \begin{cases} 1, & \text{如果第 } i \text{ 个网格单元中的第 } j \text{ 个边界框没有预测到目标。} \\ 0, & \text{否则。} \end{cases} 1ijnoobj={1,0,如果第 i 个网格单元中的第 j 个边界框没有预测到目标。否则。
1 i j n o o b j 1^{noobj}_{ij} 1ijnoobj:第i个grid cell的第j个bounding box若不负责预测物体则为1,否则为0

  • 1 i j o b j 1^{obj}_{ij} 1ijobj为1, 1 i o b j 1^{obj}_{i} 1iobj也必为1
  • 1 i j o b j 1^{obj}_{ij} 1ijobj为1, 1 i j n o o b j 1^{noobj}_{ij} 1ijnoobj必为0

8、NMS(非极大值抑制)

在这里插入图片描述

置信度是可以设置的,设置的较大的时候则比较严格,可能出现有些物体没有被检测,较小的时候可能一个物体出现多个预选框。
但是有时候就算设置较大的置信度,还是出现了多个预选框,我们可以进行非极大值抑制操作,对预选框的置信度进行排序,最终只选取较大的预选框。

YOLOV1到这里内容就全部都结束了,那YOLOV1有哪些问题呢?

  1. 小物体检测效果不好:当前一个grid cell只预测一个类别,当有两个物体高度重合在一起的时候,比如一只狗的旁边还有一只猫,那可能只能检测出狗。
  2. 多标签预测效果不好:这里介绍的是20分类,实际任务可以设置更多或者更少的分类,假设标签中有狗这个类别,还有斑点狗,还有哈士奇之类的,可能一个物体对应了两个标签,既是狗又是哈士奇,softmax可能无法拿到多个标签

那么YOLOV2做了哪些改进呢?

YOLOV1整体解读
YOLOV2整体解读

相关文章:

YOLO物体检测-系列教程1:YOLOV1整体解读(预选框/置信度/分类任/回归任务/损失函数/公式解析/置信度/非极大值抑制)

🎈🎈🎈YOLO 系列教程 总目录 YOLOV1整体解读 YOLOV2整体解读 YOLOV1提出论文:You Only Look Once: Unified, Real-Time Object Detection 1、物体检测经典方法 two-stage(两阶段):Faster-rc…...

2023/9/12 -- C++/QT

作业 实现一个图形类(Shape),包含受保护成员属性:周长、面积, 公共成员函数:特殊成员函数书写 定义一个圆形类(Circle),继承自图形类,包含私有属性&#xf…...

【Purple Pi OH RK3566鸿蒙开发板】OpenHarmony音频播放应用,真实体验感爆棚!

本文转载于Purple Pi OH开发爱好者,作者ITMING 。 原文链接:https://bbs.elecfans.com/jishu_2376383_1_1.html 01注意事项 DevEco Studio 4.0 Beta2(Build Version: 4.0.0.400) OpenHarmony SDK API 9 创建工程类型选择Appli…...

Android rom开发:9.0系统上实现4G wifi 以太网共存

framework层修改网络优先级,4G > wifi > eth 修改patch如下: diff --git a/frameworks/base/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/frameworks/base/services/core/java/com/android/server/connectivit…...

高速自动驾驶HMI人机交互

概述 目的 本文档的目的是描述高速自动驾驶功能涉及的HMI显示需求技术规范和设计说明。 范围 术语及缩写 设计与实验标准 设计标准 设计标准-非法规类设计标准-法规类 HMI交互需求 CL4功能界面 HMI显示器[伊1] 中应包含CL4功能设置界面,提供给用户进行设置操作或显…...

【自然语言处理】关系抽取 —— SOLS 讲解

SOLS 论文信息 标题:Speaker-Oriented Latent Structures for Dialogue-Based Relation Extraction 作者:Guoshun Nan, Guoqing Luo, Sicong Leng, Yao Xiao, Wei Lu 发布时间与更新时间:2021.09.11 主题:自然语言处理、关系抽取、对话场景、跨语句、DialogRE、GCN arXiv:…...

周易算卦流程c++实现

代码 #include<iostream> using namespace std; #include<vector> #include<cstdlib> #include<ctime> #include<Windows.h>int huaYiXiangLiang(int all, int& left) {Sleep(3000);srand(time(0));left rand() % all 1;while (true) {if…...

软件架构设计(十三) 构件与中间件技术

中间件的定义 其实中间件是属于构件的一种。是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同技术之间共享资源。 我们把它定性为一类系统软件,比如我们常说的消息中间件,数据库中间件等等都是中间件的一种体现。一般情况都是给应用系统提供服务,而不是直接…...

PyTorch深度学习实战——基于ResNet模型实现猫狗分类

PyTorch深度学习实战——基于ResNet模型实现猫狗分类 0. 前言1. ResNet 架构2. 基于预训练 ResNet 模型实现猫狗分类相关链接 0. 前言 从 VGG11 到 VGG19&#xff0c;不同之处仅在于网络层数&#xff0c;一般来说&#xff0c;神经网络越深&#xff0c;它的准确率就越高。但并非…...

机器学习第六课--朴素贝叶斯

朴素贝叶斯广泛地应用在文本分类任务中&#xff0c;其中最为经典的场景为垃圾文本分类(如垃圾邮件分类:给定一个邮件&#xff0c;把它自动分类为垃圾或者正常邮件)。这个任务本身是属于文本分析任务&#xff0c;因为对应的数据均为文本类型&#xff0c;所以对于此类任务我们首先…...

基于Java+SpringBoot+Vue的图书借还小程序的设计与实现(亮点:多角色、点赞评论、借书还书、在线支付)

图书借还管理小程序 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实现5.1 小…...

【校招VIP】前端计算机网络之UDP相关

考点介绍 UDP是一个简单的面向消息的传输层协议&#xff0c;尽管UDP提供标头和有效负载的完整性验证&#xff08;通过校验和&#xff09;&#xff0c;但它不保证向上层协议提供消息传递&#xff0c;并且UDP层在发送后不会保留UDP 消息的状态。因此&#xff0c;UDP有时被称为不可…...

前缀和实例4(和可被k整除的子数组)

题目&#xff1a; 给定一个整数数组 nums 和一个整数 k &#xff0c;返回其中元素之和可被 k 整除的&#xff08;连续、非空&#xff09; 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1&#xff1a; 输入&#xff1a;nums [4,5,0,-2,-3,1], k 5 输出&#xff1a;7 …...

Android获取系统读取权限

第一步在Androidifest.xml文件中加上授权语句 <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/>并且在Application标签下添加 androi…...

输入学生成绩(最多不超过40),输入为负值时表示输入结束,统计成绩高于平均成绩的学生人数

#include<stdio.h> #define N 40 int scanfscore(int score[N]) {int i -1;do {i;printf("输入学生成绩:");scanf("%d", &score[i]);} while (score[i] > 0);return i; } int average(int score[N], int n) {int j 0;int k 0;double sum …...

【力扣周赛】第 363 场周赛(完全平方数和质因数分解)

文章目录 竞赛链接Q1&#xff1a;100031. 计算 K 置位下标对应元素的和竞赛时代码写法2——手写二进制中1的数量 Q2&#xff1a;100040. 让所有学生保持开心的分组方法数&#xff08;排序后枚举分界&#xff09;竞赛时代码 Q3&#xff1a;100033. 最大合金数&#xff08;二分答…...

RocketMQ的介绍和环境搭建

一、介绍 我也不知道是啥&#xff0c;知道有什么用、怎么用就行了&#xff0c;说到mq&#xff08;MessageQueue&#xff09;就是消息队列&#xff0c;队列是先进先出的一种数据结构&#xff0c;但是RocketMQ不一定是这样&#xff0c;简单的理解一下&#xff0c;就是临时存储的…...

【web开发】7、Django(2)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、部门列表二、部门管理&#xff08;增删改&#xff09;三、用户管理过渡到modelform组件四、modelform实例&#xff1a;靓号操作五、自定义分页组件六、datepick…...

Prometheus+Grafana可视化监控【Nginx状态】

文章目录 一、安装Docker二、安装Nginx(Docker容器方式)三、安装Prometheus四、安装Grafana五、Pronetheus和Grafana相关联六、安装nginx_exporter七、Grafana添加Nginx监控模板 一、安装Docker 注意&#xff1a;我这里使用之前写好脚本进行安装Docker&#xff0c;如果已经有D…...

R 语言的安装教程

一、下载相关软件 1、R 下载 官网&#xff1a;R: The R Project for Statistical Computing 找到中国镜像&#xff0c;下载快 历史版本点击这里 2、Rtools 下载 进入镜像后&#xff0c;点击这里 然后选择与上面下载的R版本相对应的版本即可 3、Rstudio 下载 官网&#xff1…...

uniapp-提现功能(demo)

页面布局 提现页面 有一个输入框 一个提现按钮 一段提现全部的文字 首先用v-model 和data内的数据双向绑定 输入框逻辑分析 输入框的逻辑 为了符合日常输出 所以要对输入框加一些条件限制 因为是提现 所以对输入的字符做筛选,只允许出现小数点和数字 这里用正则实现的小数点…...

Spring 篇

1、什么是 Spring&#xff1f; Spring是一个轻量级的IOC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架&#xff0c;目的是用于简化企业应用程序的开发&#xff0c;它使得开发者只需要关心业务需求。常见的配置方式有三种&#xff1a;基于XML的配置、基于注解的配置…...

three.js简单3D图形的使用

npm init vitelatest //创建一个vite的脚手架 选择 Vanilla 之后自己处理一下 在main.js中写入 // 导入three.js import * as THREE from three// 创建场景 const scene new THREE.Scene();// 创建相机 const camera new THREE.PerspectiveCamera(45, //视角window.inner…...

spark withColumn的使用(笔记)

目录 前言&#xff1a; spark withColumn的语法及使用&#xff1a; 准备源数据演示&#xff1a; 完整实例代码&#xff1a; 前言&#xff1a; withColumn()&#xff1a;是Apache Spark中用于DataFrame操作的函数之一&#xff0c;它的作用是在DataFrame中添加或替换列&#xff…...

PTA:7-1 线性表的合并

线性表的合并 题目输入样例输出样例 代码解析 题目 输入样例 4 7 5 3 11 3 2 6 3输出样例 7 5 3 11 2 6 代码 #include<iostream> #include<vector> using namespace std;bool checkrep(const vector<int>& arr, int x) {for (int element : arr) {i…...

Spring 的创建和日志框架的整合

目录 一、第一个 Spring 项目 1、配置环境 2、Spring 的 jar 包 Maven 项目导入 jar 包和设置国内源的方法&#xff1a; 3、Spring 的配置文件 4、Spring 的核心 API ApplicationContext 4、程序开发 5、细节分析 &#xff08;1&#xff09;名词解释 &#xff08;2&…...

11-集合和学生管理系统

1.ArrayList 集合和数组的优势对比&#xff1a; 长度可变添加数据的时候不需要考虑索引&#xff0c;默认将数据添加到末尾 1.1 ArrayList类概述 什么是集合 ​ 提供一种存储空间可变的存储模型&#xff0c;存储的数据容量可以发生改变 ArrayList集合的特点 ​ 长度可以变化…...

C语言进阶指针(3) ——qsort的实现

大家好&#xff0c;我们今天来学习回调函数qsort的实现。 首先让我们打开cplusplus.com找到qsort函数。 我们看到这个函数就可以看到它的头文件和参数信息。 #include<stdlib.h> void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const voi…...

Rust源码分析——Rc 和 Weak 源码详解

Rc 和 Weak 源码详解 一个值需要被多个所有者拥有 rust中所有权机制在图这种数据结构中&#xff0c;一个节点可能被多个其它节点所指向。那么如何表示图这种数据结构&#xff1f;在多线程中&#xff0c;多个线程可能会持有同一个数据&#xff1f;如何解决这个问题。 Rc rus…...

【网络编程】深入理解TCP协议二(连接管理机制、WAIT_TIME、滑动窗口、流量控制、拥塞控制)

TCP协议 1.连接管理机制2.再谈WAIT_TIME状态2.1理解WAIT_TIME状态2.2解决TIME_WAIT状态引起的bind失败的方法2.3监听套接字listen第二个参数介绍 3.滑动窗口3.1介绍3.2丢包情况分析 4.流量控制5.拥塞控制5.1介绍5.2慢启动 6.捎带应答、延时应答 1.连接管理机制 正常情况下&…...

网站模板 简洁/制作网站的全过程

SIP有多种定义和解释,其中一说是多芯片堆叠的3D封装内系统集成,在芯片的正方向堆叠2片以上互连的裸芯片的封装。SIP是强调封装内包含了某种系统的功能封装&#xff0c;3D封装仅强调在芯片方向上的多芯片堆叠,如今3D封装已从芯片堆叠发展到封装堆叠,扩大了3D封装的内涵。     …...

制造企业网站的建设目标/营销策略包括哪些方面

Linux上Nginx中开启SSL模块&#xff0c;配置Https访问方式一、Nginx简介二、主题业务背景三、Nginx实现Https方式前期准备SSL证书申请Nginx需要开启SSL模块四、Nginx中配置Https配置前介绍nginx.conf配置详情一、Nginx简介 1.Nginx是一款轻量级、高性能的web服务器/反向代理服…...

肇庆专业网站建设服务/爱站网关键词查询工具

在微信开放平台基础高级产品经理林兴演讲的当场&#xff0c;他爆料了微信小程序一个轰动性新能力&#xff1a;小程序很快可以支持各个 App 直接打开小程序&#xff01;没错&#xff0c;你没有听错&#xff0c;简单来说&#xff0c;在不久以后&#xff0c;所有的 App 里面都可以…...

华为网站建站/网上代写文章一般多少钱

之前编译的参数没有添加mysqli支持&#xff0c;因代码需要&#xff0c;必须添加上去。这次尝试一下扩展编译。 由于是源代码安装的&#xff0c;所以在php的目录bin下面有相关的命令。 到解压的源代码的ext目录下面&#xff0c;进入mysqli目录&#xff0c;执行/home/php/bin/php…...

做网批有专门的网站吗?/百度快照投诉中心官网

下载 官方下载地址,要注意的是要下载的是 MySQL Community Server。根据系统选择相应压缩包&#xff0c;这个是 win 下安装。选择 Zip Archive 安装 将下载好的压缩包解压到想要安装的文件夹即可&#xff0c;我的是 C:/mysql 配置 配置环境变量 增加系统环境变量&#xff1a; M…...

六安网络营销/郑州专业seo推荐

转自&#xff1a;http://developer.51cto.com/art/201011/235040.htm Mono一直到现在的2.8已经完全可以胜任一些比较小的项目了&#xff0c;但相关的开发文档与教程一直比较匮乏&#xff0c;中文材料更是屈指可数。虽然Mono与.net很多类库都是通用的&#xff0c;但Mono仍然有为…...