YOLO
YOLO模型评价指标IOU(输出框与真实框的交集/并集):
TP: T表示True,P表示Positive。True和False表示模型判断的对错,Positive和Negative表示该样本被判断为什么。那么如果一个样被我们判定为好的(Positive),而且我们判断对了,那么即为一个TP
FP: 同理,FP即为被我们判断为好的(Positive),但是我们判断错了(即它是错误的样本),即为FP
TN: 被模型识别为坏的(Negative),我们判断对了(它确实是坏的)
FN: 被模型识别为坏的(Negative),但我们判断错了(它实际上是对的)
由此,定义:$$Precision\ =\ \frac{TP}{TP\ +\ FP}$$
$$Recall\ =\ \frac{TP}{TP\ +\ FN}$$
在不同的置信度下,计算对应的Precision和Recall,做出图像,计算如下右图的阴影面积
YOLO-V1You Only Look Once !
是一个经典的one-stage方法,它将检测问题转化为回归问题,一个CNN搞定问题。
网络架构 ...
songwriting-1
选择和声构建自己的和声词汇库练习:在不同和弦上创造旋律,根据自己对这段旋律与和声的理解,用自己能理解的方式为和声描述一些词汇,积累这些词汇与感觉,并强化熟练这种connection。这有助于在写歌的时候,能够熟练的掌握你想要的和声走向。
常见和声走向1645
1564
4516
6415
这些和声的节奏以及织体都可以根据自己的想法进行改变
sklearn逻辑回归
sklearn逻辑回归介绍逻辑回归本质是由线性回归变化而来的,一种广泛使用于分类问题中的广义回归算法。要理解逻辑回归从何而来,得要先理解线性回归。线性回归是机器学习中最简单的的回归算法,它写作一个几乎人人熟悉的方程:$$z = \theta_0 \ + \ \theta_1 x_1 \ + \ \theta_2 x_2 \ + \ … \ + \ \theta_n x_n$$线性回归的任务,就是构造一个预测函数来映射输入的特征矩阵x和标签值y的线性关系,而构造预测函数的核心就是找出模型的参数:和,著名的最小二乘法就是用来求解线性回归中参数的数学方法。
对于输出值z, 我们用一个函数g(z)将其映射到(0, 1)区间,即Sigmoid函数:$$g(z) = \frac {1} {1 \ + \ e^{-z}}$$
面试可能会考Sigmoid函数的公式和性质(主要记住图像就好):
Sigmoid函数是一个S型的函数,当自变量z趋近正无穷时,因变量g(z)趋近于1,而当z趋近负无穷时,g(z)趋近于0,它能够将任何实数映射到(0,1)区间,使其可用于将任意值函数转换为更 ...
计网复习-4
网络层4.1 功能
只提供简单灵活的,无连接的,尽最大努力交付的数据报服务
4.1.1 异构网络互连
网络互联:两个以上的计算机网络,通过一定的方法,用一些中间设备(又称中继设备),互相连接起来,以构成更大的网络系统。
物理层:转发器,集线器
数据链路层:网桥或交换机
网络层:路由器
网络层以上:网关
优点:互联网上主机通信,就如同在一个网络上通信,看不到互联网各个网络具体异构细节。
4.1.2 路由与转发
路由选择:根据特定的路由选择协议构造路由表,同时按照复杂的分布式算法,经常/定期和相邻路由器交换路由信息而不断更新维护路由表,从而动态地改变所选择的路由。
分组转发:路由器根据转发表查询,将用户的IP数据报从合适的端口转发出去
4.2 路由算法4.2.1 距离-向量路由算法
所有结点定期将自己的路由表发送给与之相邻的结点,相邻结点收到后,根据自己的路由表和收到的路由表,更新自己的路由表,然后再将自己的路由表发送给与之相邻的结点,如此循环,直到所有结点的路由表都不再发生变化。
选择表包括: 路径目的地 , 路径代价(距离)
实质:迭代计算一条路由中的站段数 ...
计网复习-3
数据链路层3.1 数据链路层的功能3.1.1 为网络层提供服务
无确认的无连接服务
有确认的无连接服务
有确认的面向连接服务 有连接就一定要确认
3.1.2 链路管理数据链路层的连接的建立,维持和释放过程称为链路管理
链路两端结点通信前必须确认对方已处于就绪状态,这个过程称为链路建立
3.1.3 帧定界,帧同步与透明传输
帧长=数据长度+首部/尾部长度,作用是帧定界
帧同步:帧定界后,接收方要能够识别出帧的边界
透明传输:无论传输的数据是什么样的比特组合,都应当能在链路上传送。
3.1.4 流量控制限制发送方的发送速率,使接收方能够及时处理接收到的数据,防止接收方的缓冲区溢出。
OSI模型中数据链路层有流量控制功能,但是TCP/IP模型中流量控制功能被转移到了传输层。
3.1.5 差错控制帧在传输过程中可能出现错误。用以使发送方确定接收方是否正确收到发送数据的方法称为差错控制,其通常可分位位错和帧错
位错通常采用循环冗余检验CRC或者奇偶校验等方法进行检测和纠正,通过自动重传请求来重传出错的帧,这种差错控制的方法称为ARQ法。
帧错可以通过引入定时 ...
计网复习-1
写在前面的话:该部分内容用于BUAA 软院计网期末复习,部分复杂需要理解的知识点只会提及考点、考法而不会详细说明知识点原理,内容不全请见谅。后续有时间会面向考研进行知识点的补充。
计算机网络体系结构1.1 计算机网络的分类
按分布范围:**广域网(WAN),城域网(MAN),局域网(LAN)**,个人区域网(PAN)
按传输技术:广播式网络,点对点网络
按拓扑结构:总线形,星形,环形,网形
1.2 计算机网络体系结构与参考模型1.2.1 计算机网络分层结构
网络的体系结构:网络的各层及其协议的集合
实体:将计算机网络分层后,第n层中的活动元素通常称为第n层实体(具体可指硬件或软件进程)
对等层:不同机器上的同一层
对等实体:同一层的实体
服务提供者:第n层为第n+1层提供服务,将第n层称为服务提供者
SDU,PCI,PDU:分别是报文的数据部分,控制信息部分,数据部分+控制信息部分。我们依次称其为服务数据单元,协议控制单元,协议数据单元。在各层间传输数据时,我们通常将第n+1层的PDU当作第n层的SDU。
1.2.2 计算机网络协议、接口、服务的概念
协议:控制两个对等实体进行 ...
Mysql-1
Mysql的执行流程mysql架构
MySQL 可以分为 Server 层和存储引擎层两部分。
Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。
存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。
连接器连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接命令一般是这么写的:
1mysql -h$ip -P$port -u$user -p
连接命令中的 mysql 是客户端工具,用来跟服务端建立连接。在完成经典的 TCP 握手后,连接器就要开始认证你的身份,这个时候用的就是你输入的用户名和密码。
如果用户名或密码不对,你就会收到一个”Access denied for user”的错误,然后客户端程序结束执行。
如果用户名密码认证通过,连接器 ...
Pytorch-3
Torchvision: 数据读取Torchvision 是一个和 PyTorch 配合使用的 Python 包,包含很多图像处理的工具。
数据读取PyTorch 为我们提供了一种十分方便的数据读取机制,即使用 Dataset 类与 DataLoader 类的组合,来得到数据迭代器。在训练或预测时,数据迭代器能够输出每一批次所需的数据,并且对数据进行相应的预处理与数据增强操作。
DataSetPyTorch 中的 Dataset 类是一个抽象类,它可以用来表示数据集。我们通过继承 Dataset类来自定义数据集的格式、大小和其它属性,后面就可以供 DataLoader 类直接使用。其实这就表示,无论使用自定义的数据集,还是官方为我们封装好的数据集,其本质都是继承了 Dataset 类。而在继承 Dataset 类时,至少需要重写以下几个方法:
**__init__()**:构造函数,可自定义数据读取方法以及进行数据预处理;
**__len__()**:返回数据集大小;
**__getitem__()**:索引数据集中的某一个数据。
示例:
12345678910111213import ...
Pytorch-2
Tensor初识我们发现,目前认识的几种数据表示:标量,向量,矩阵是有着联系的,标量可以组合成向量,向量可以组合成矩阵。那么,我们可否将它们看作是一种数据形式呢?答案是可以的,这种统一的数据形式,在 PyTorch 中我们称之为**张量 (Tensor)**。
Tensor的创建直接创建1torch.tensor(data, dtype=None, device=None, requires_grad=False)
data是要传入的数据,可以传入list, tuple, numpy array, scalar等,均可以转为tensor
dtype是tensor的类型
device指定数据要返回的设备,暂时不用关注
requires_grad指定当前量是否需要在计算中保留对应的梯度信息在 PyTorch 中,只有当一个 Tensor 设置 requires_grad 为 True 的情况下,才会对这个 Tensor 以及由这个 Tensor 计算出来的其他 Tensor 进行求导,然后将导数值存在Tensor 的 grad 属性中,便于优化器来更新参数。
所以,你需要注意的是,把 ...
Pytorch-1
Numpy——核心数据结构数组创建数组正常数组将一个列表传入到np.array()或者np.asarray()中
123import numpy as nparr = np.array([1, 2, 3])
特殊数组np.ones(shape, [dtype])传入形状生成全1数组
np.zeros(shape, [dtype])传入形状生成全0数组
np.arrange([start], stop, [step])start默认0,step默认1
生成[start, stop)间隔为step的数组
np.linspace(start, stop, num=50, endpoint=True, retstep=False)生成[start, stop)中的一个等差数列,有num个元素
endPoint:True的话最后一个元素是stop
retstep:True的话返回数组和公差
数组的属性ndim数组维度个数
1print(arr.ndim)
shape是一个元组,表示数组每一维度有几个元素
1print(arr.shape)
形状变换可以使用re ...