- 博客(25)
- 收藏
- 关注
原创 TCP面试:SYN报文在什么情况下会被丢弃
之前说过,开启了 recycle 和 timestamps 选项,就会开启一种叫 per-host 的 PAWS 机制。
2023-09-09 20:01:46
366
原创 Mysql缓存方案
binlog的作用是数据备份和主从复制;确保主从数据的一致。redolog的作用是确保事务持久化,确保本地数据一致。缓存方案读策略:先读缓存,存在则直接返回;不存在则去访问MySQL,再写redis。缓存方案写策略,从安全为主;先删除缓存层中对应数据,再写MySQL,最后将MySQL数据同步到缓存层。添加缓存层的目的是为了提升效率,这种方式为了安全降低了效率。缓存方案写策略,从效率为主;先写缓存层并设置过期时间,再写MySQL,等待MySQL同步到缓存层中。
2023-09-05 22:01:16
468
原创 Mysql索引原理
所有的索引都会创建一个B+树非空唯一索引,一个表只有一个主键索引;在 innodb 中,主键索引的 B+ 树包含表数据信息不可以出现相同的值,可以有NULL值允许出现相同的索引内容对表上的多个列进行索引将存储在数据库当中的整本书和整篇文章中的任意内容信息查找出来的技术;关键词 FULLTEXT;在短字符串中用 LIKE %;在全文索引中用 match 和 against;innodb 中表是索引组织表,每张表有且仅有一个主键;1. 如果显示设置 PRIMARY KEY ,则该设置的key为该表的主键;
2023-09-03 21:53:21
168
原创 Linux DNS服务配置
(2)/etc/resolv.conf:Dns服务器地址的配置文件,指定一个Dns服务器,比如阿里云Dns服务器,google Dns服务器。(1) /etc/hosts文件: 自己本地的DNS域名解析。Linux Dns服务配置可以通过修改一下两个文件完成:、当访问一个网站时,由Dns服务器将网站域名解析成IP地址。
2023-08-31 10:43:07
381
原创 Mysql事务原理
事务将数据库从一种一致性状态转换为另一种一致性状态,事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。学习一个数据库,对该数据库进行ACID分析是很重要的事务控制语句原子性:mysql的事务原子性是通过 undolog 的回滚操作实现的。undolog 记录的是事务每 步具体操作,当回滚时,回放事务具体操作的逆运算,存储在共享表空间当中隔离性:事务的隔离性要求每个读写事务的对象对其他事务的操作对象能相互分离,并发事务之间不会相互影响,设定了不同程度的隔离级别(
2023-08-30 21:57:42
97
原创 Redis的网络层
redis lua脚本的执行是原子性的;lua脚本中的命令会直接修改数据状态,如果项目中使用了lua脚本,则不需要使用Redis中的事务命令。mysql的每条连接对应一条线程(因为mysql每条连接都会有大量的IO操作,包括文件IO和磁盘IO),而redis是内存数据库,只涉及网络IO,因此Redis的网络模型选择用单Reactor。redis的每条连接可以看作一个队列,队列中的元素可以理解成一个redis协议包,reactor可以看作一个处理器,reactor并发处理redis的网络连接。
2023-08-29 15:20:03
143
1
原创 Ubuntu22.04多版本gcc g++切换
ubuntu 22.04的默认gcc g++ 为11,在实际编译中可能需要用到低版本编译器。(2)将多个gcc版本的优先级设置成一样 便于我们后续开启手动配置。这时我们的gcc版本已由默认的11变成了7, g++操作类似。(4)手动设置需要的gcc/g++(1)更新源,安装,即可。
2023-08-23 15:44:51
3246
2
原创 Read函数的阻塞模式和非阻塞模式
read 函数的阻塞模式在网络编程中经常会带来一些问题,比如当我们需要同时处理多个连接的时候,如果有一个连接出现了阻塞,那么整个程序都会被阻塞。下面是一个在网络编程中常见的使用 read 函数的示例,我们需要从 socket 中读取数据。如果我们尝试读取的文件当前没有数据可读,那么 read 函数会进行阻塞,直到有数据可读。read阻塞和非阻塞:数据未准备好时是否立即返回。
2023-08-20 11:41:37
2395
1
原创 detectron2:输入图像尺寸问题
而最小输入尺寸,可以是个列表的形式,比如(800,900),这时候就会从(800,1333)和(900,1333)两个区间随机采样。图像会经过裁剪的操作再送进模型,可以设置图像裁剪范围的区间,例如原配置中就是(800,1333)。在detectron2中,我们并不是只输入一个尺寸的图像。...
2022-07-27 13:48:47
1441
原创 detectron2:训练过程
DefaultTrainer从config初始化,包含了一些允许用户自定义的更加标准化的操作,比如优化器的选择、学习率的规划、记录日志、保存模型、评测模型等。1.SimpleTrainer提供了最简单的单损失,单优化器,单数据集的训练循环,没有其它的任何功能(包括保存,记录等),这些功能可以通过hook来实现。,这个函数其实就是平常我们在编写训练过程的代码,例如读数据,训练模型,获取损失值,求导数,反向梯度更新等,只不过在这个类里面没有定义。,用来处理训练之前、之后需要准备、收尾的工作。...
2022-07-21 13:59:06
1382
原创 detectron2:基于AdelaiDet对youtubevis数据集注册
detectron2提供了VOC和COCO格式的API,可以方便实现注册,如果要注册vis视频格式的数据集,可利用detectron2的扩展库AdelaiDet进行注册。
2022-07-19 13:51:32
569
原创 detectron2:数据载入过程
instances字段是一个instance类,在detectron2/structures/instances.py中有定义,这个类会告诉我们mapp后图片的尺寸,一个图片有多少实例,bbox的label,每个instance的类别。instances字段返回的内容并不是唯一的,如果是分割任务,会有mask信息,如果是关键点检测,会有keypoints信息,或者根据你自定义的map得到新的内容。还是一个字典链表,每个字典就是一张图片的信息。来看一个字典有什么内容。...
2022-07-18 22:08:43
825
原创 detectron2:配置文件解析
detectron2的模型配置文件位于detectron2/config/defaults.py,理解配置文件就可以对detectron2中内置的一些模型进行调参。
2022-07-15 17:24:40
1940
原创 detectron2:数据集标签可视化
用于可视化的工具主要是是位于utils下的visualizer文件,文件中的Visualizer类用于可视化,里面定义了多种方法,不光可以对数据集标签可视化,也可以对与预测结果进行可视化。可视化结果,0是数据类编号,我用的数据集只有一类,所以编号都为0。......
2022-07-14 20:59:38
2036
1
原创 detectron2:数据集注册
detectron2通过访问 DatasetCatalog 来访问具体数据,以及 MetadataCatalog 来访问 metadata(我的理解是metadata里面是数据集的具体信息,比如类别数,评估器的种类)先要把数据集转化成coco格式代码只展示了训练集的注册,验证集操作一样,注册完成后,我们可以看到DatasetCatalog和MetadataCatalog中已经有了我们的数据集......
2022-07-13 18:20:55
1435
1
原创 pytorch 负对数似然损失和交叉熵损失
一.负对数似然似然是已知数据,推参数,我们通过极小化负对数似然(最大似然),来求最佳的模型参数二.交叉熵损失而在训练过程中,标签通常采用one-hot编码表示,而样本真实分布的概率,这样交叉熵的表示形式其实是跟负对数似然一样的三.pytorch实现的区别1.在使用nn.NLLLoss()是,需要结合nn.LogSoftmax()一起使用,而nn.CrossEntropyLoss()不需要。2.使用nn.CrossEntropyLoss()时,网络的最后一层不需要加softma.
2022-05-29 21:30:49
703
原创 tensor.max方法
pred = torch.tensor([[0.7,0,0.2,0.1,0],[0,0.2,0.4,0.3,0.1]])pred.max(1, keepdim=True)[1]输出:pred.max(1, keepdim=False)[1]输出:可以用在softmax后取出最大概率所在的索引tensor.max(1,keepdim)[1]:返回索引tensor.max(1,keepdim)[0]:返回最大值1指第一维度,第0维一般为batchsize...
2022-05-13 16:02:43
3930
原创 用随机种子对image和mask做同样的数据增强
pytoch中的torchvision.transform是对输入数据按照一定概率做随机的变换,在神经网络中训练时候自然要保证input和target的一致性。from PIL import Imagefrom torchvision import transformsimport matplotlib.pyplot as pltimport randomimport numpy as npimport osimport torchos.environ["KMP_DUPLICATE_L
2022-04-18 19:59:34
1128
1
原创 用os.listdir()和glob.glob()方法获取文件夹下所有图片路径
图片存放位置如上图所示:img= glob.glob("D:\DeepLearning//Unet_Ca//data//train/*") 注意带*号或者img1 = os.listdir("D:\DeepLearning//Unet_Ca//data//train")注意他们的区别
2022-04-15 12:23:48
1030
原创 Opencv学习笔记(一)
用opencv调用电脑摄像头import cv2cap=cv2.VideoCapture(0,cv2.CAP_DSHOW)while cap.isOpened(): ret,frame=cap.read() frame = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) cv2.imshow("Video", frame) if cv2.waitKey(1) & 0xFF == ord('q'): #ord("q")表示按下
2022-04-13 19:18:06
2686
原创 Error: setup script specifies an absolute path
配置FCOS网络时,最后一步出现的问题python setup.py build develop --no-deps把setup.py文件中的include_package_data=True改为include_package_data=False成功解决
2022-04-13 14:33:04
720
原创 安装detectron2/AdelaiDet的报错问题
报错位置:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\include\crt/host_config.h(160): fatal error C1189: #error: -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2019 (inclusive) are supported!定位到报错的文件位置:host_c
2022-04-12 13:38:04
882
原创 pytorch自定义调整学习率的方法
一种自己设置调整学习率的方法,可以放在epoch循环里。1.optimizer.state_dict()和optimizer.param_groupsoptimizer.state_dict()是一个字典,和model.state_dict()类似,包含优化器的state信息和param_groups的字典对象optimizer = torch.optim.Adam(Net.parameters(),lr=lr)print(optimizer.state_dict().keys())输
2022-04-11 23:12:14
1755
原创 Pytorch初始化模型权重最快捷的方法
用self.modules()方法批量初始化模型用self.modules()可以遍历组成网络的所有模块,以及这些模块的后代模块。Example:创建一个网络,其中包括一个预先定义的DoubleConv类class DoubleConv(nn.Module): def __init__(self,in_channels,out_channels): super(DoubleConv,self).__init__() self.conv = nn..
2022-04-11 18:55:45
2258
原创 目标检测—RCNN系列
工程应用中,检测算法以one-stage算法yolo系列等为主,因为one-stage通常来说速度快,可以完成良好的实时检测。本文回顾的是two-stage算法:RCNN系列One-stage and two-stage: one-stage: 直接回归物体的类别概率和位置坐标值(无region pr...
2022-04-09 14:35:10
4853
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人