- 博客(57)
- 收藏
- 关注
原创 [论文笔记] Simple Fast Algorithms for the Editing Distance between Trees and Related Problems 树编辑距离计算方法
本文提出的方法是好方法,30多年过去,还有人在学习它但本文的对于关键概念和算法的描述以及插图,一言难尽。因此,这篇博客中补充了大量的个人理解。错误之处,还请大家指出。
2023-07-22 18:49:03 860
原创 Git学习笔记
的作用是从一个仓库或者本地的分支拉取并且整合代码,也就是提前解决这些冲突,并保证当前分支所依照的。主分支之外有两个开发分支(通常是针对不同模块进行修改)。origin表示远程仓库(通常默认名为origin),后面是远程仓库的地址。输出:a/为已提交的版本, b/为当前修改尚未提交的版本。会在将dev推送到远程仓库的dev分支(若没有则创建)表示冲突部分main分支的当前内容,表示冲突部分dev2分支的当前内容。在主分支上创建自己的分支,假设名为。创建一个名为dev的分支。合并dev分支到当前分支。
2023-03-20 15:45:37 481 2
原创 GTEST极简教程(g++直接编译和CMakeLists组织两种方式)
这是一份极简版教程,描述gtest的安装和最基础的使用,分为使用g++编译和CMakeLists组织文件编译两种方式。
2023-02-24 11:02:37 1031 1
原创 基于Ubuntu20.04搭建OpenHarmony v3.0.6的qemu仿真环境
这篇博客基于在VMware上新创建的Ubuntu 20.04.1,搭建Openharmony的运行环境,如何正确编译并进入Qemu的仿真。
2023-01-17 15:24:34 3892
原创 VSCode使用SSH免密登录远程主机
对于远程开发而言,目前最好的IDE是VSCode。可使用SSH时,不仅每次连接远程服务器都要属于一次密码,关键是每次打开一个新目录都要输入密码。过于繁琐的操作,直接影响心情。这里记录一下如何设置,达到VSCode免密登录远程主机的效果
2022-11-12 12:39:38 1793
原创 Attention is all you need 公式推导
Attention is all you need 公式推导前言一、以训练的角度看(一)输入的内容编码(二)输入的位置编码单头的attentionmulti-head attentionEncoder的后续Decoder参考前言Transformer的根源在于这篇文章,但这篇paper本身写的并不好懂,因为省去了大量的细节。依照上交许志钦老师的讲解才理清头绪,所以我准备以公式推导的方式记录下来这篇文章的流程。并没有看代码,毕竟只是作为研究DETR的准备工作,听完许老师的课理论准备就够了。所以下面也都是
2022-05-12 11:51:22 334
原创 Pytorch训练代码框架
前言网上关于Pytorch的基础训练代码框架有很多,但一直想创建一个自己的。于是从头写了一遍,包含了seed指定,网络搭建,DataSet和DataLoader,loss和优化器的定义和使用,模型的保存和载入。代码import numpy as npimport osimport argparseimport torchimport torch.nn as nnfrom torch.utils.data import DataLoader, Datasetparser = argpars
2022-04-12 20:46:06 1508 5
原创 Python中的argparse模块,以传参实用的角度分析
Python中的argparse模块前言Argparse基础的调用实用的方式参考前言argparse是个很实用的模块,可以通过命令行向程序传入参数。网上的教程有很多,大多都很详细,把每个功能都讲到。可实际使用上不会用到这么多,所以我只列出几个常用的参数。这些参数足够满足大部分使用需求。Argparse基础的调用test.py文件内容import argparseparser = argparse.ArgumentParser(description="输入参数")# 添加参数parser
2022-04-10 16:32:11 706
原创 Pytorch的常用操作
Pytorch的常用操作前言一、tensor创建1. 常规2. 与list和numpy的转换3. 数据类型与转换4. 索引问题二、基础操作1. 针对单个元素的数学操作2. 矩阵乘法A乘B3. 比较操作三、维度变化相关1. 维度调整2. unsqueeze和squeeze3. 两个tensor合并四、神经网络相关前言也是研一时候写的,后来又整理了一些,现在还是放到网上吧。一、tensor创建1. 常规tensor(data,)类似np.array的构造函数ones(*sizes)
2022-04-01 17:13:56 1577
原创 Opencv-Python的常用操作
Opencv-Python的常用操作前言安装图片加载、显示和保存读取cv2.imreadcv2.imshowcv2.imshow(window_name,img)cv2.namedWindow(winname, 属性):cv2.waitKey(millseconds)cv2.destroyAllWindows(window_name)图片写入基础运算像素的加减乘除与或非或均值和标准差图像的缩放和翻转cv2.resizecv2.filp图像加框参考前言研一时总结的一点实用函数,这两天没事,整理出来放到网上
2022-04-01 12:45:36 5444
原创 linux基础命令笔记
linux基础命令笔记前言一、操作系统二、基础(一)文件结构(二)常用命令(三) 权限相关命令(四)其他前言这是按照黑马程序员的Linux系统操作教程2天快速入门linux项目搭建的课程笔记。课程设计为两天可完成的量,而且B站有他们官方免费的视频。里面有教材链接也是可免费下载的。但教材不是太好,于是自己记了一份笔记,也方便自己后续查找。一、操作系统概念:硬件上的第一层软件。硬件–>操作系统–>应用软件分类:桌面操作系统:Windows、macOS、linux移动移动端操
2022-02-13 17:46:20 672
原创 Ubuntu20.04更换镜像源解决下载失败
Ubuntu20.04更换镜像源解决下载失败前言更换源原始配置前言因为默认下载源在国外,有时候会出现下载失败的问题。可更换国内源。其实就是几条命令更换源备份sudo cp -v /etc/apt/sources.list /etc/apt/sources.list.backup修改权限并编辑sudo chmod 777 /etc/apt/sources.listsudo gedit /etc/apt/sources.list原有配置替换为清华源deb http://mi
2022-02-12 20:45:10 3028
原创 Ubuntu多机之间,与Win10之间,使用samba进行图形化界面文件共享
Ubuntu多机之间,与Win10之间,使用samba进行图形化界面文件共享前言安装samba设置共享文件夹设置访问账号Win10访问Ubuntu访问多说一点最后参考前言预想达到的效果:多台Ubuntu之间,Ubuntu和win10之间,只用ip地址就可可以进行图形化界面文件共享。比如以下效果,看上去就是一个特殊的文件夹。这样的效果对于含多台ubuntu服务器的实验室来说是很有帮助的,既可以免去用硬盘在多服务器上拷贝数据的痛苦,又可以用自己的win10电脑轻易查看服务器文件。我们使用的插件是sam
2022-02-10 21:13:58 1775
原创 CSDN和Typora的Markdown插入思维导图
CSDN和Typora的Markdown插入思维导图前言在Markdown中画(流程)图MermaidSequence Diagrams(UML图)Flowcharts另一种FlowchartsGantt图(甘特图)Class图(类图)State 图饼图参考文献前言因为打算使用Markdown做笔记,想找一种方法可在Markdown中插入思维导图。这种方法必须满足三点:(1)免费(2)简单(3)插入导图可编辑。网上一通找,在见到各种千奇百怪的方法之后,看见人家Typora官方给出了方法,而CSDN的帮助
2022-02-05 21:06:53 4188
原创 [目标跟踪]pysot和vot-toolkit的结合
pysot和vot-toolkit的结合前言代码修改trackers.ini文件实验结果分析前言能点进来看这个文章的,想必都是行内人士,那就直接讲重点。其实人家pysot已经内置了vot数据集的测试和分析,其结果已经广泛用于各种paper上。比如SiamRPN++在VOT2016上的EAO是0.464。但pysot只能运行VOT2016,2018,2019的数据集。因为pysot只提供了关于这几个的配置信息。于是我想把pysot和vot-toolkit结合起来。关于vot-toolkit-pyth
2022-01-19 22:24:31 3172 4
原创 [目标跟踪]vot-toolkit-python的使用
这里写自定义目录标题前言下载和安装备用方案测试官方的样例trackerinitialize初始化文件夹和下载数据集修改trackers.ini文件testevaluateanalysis参考前言可能VOT官方心里是这么想的:你们这群连工具都配不好的菜鸡,不配使用我们的数据集。就你们这个技术,更不必参与比赛。这个数据集的Python版教程,一个是写的过于简略,一个没有及时更新,一些东西已经不对应了。不过人家最开始的Matlab教程写的还挺好,但现在Python兴起,用Matlab研究跟踪的人越来越少了。
2022-01-19 20:32:06 5648 15
原创 md文件图片引用格式转换及下载
md文件图片引用格式转换及下载前言代码前言CSDN上的图片引用格式为“”,对图片调整为居中显示并按比例缩放,可以很简单:在图片链接尾添加#pic_center =80%x80%![在这里插入图片描述](https://img-blog.csdnimg.cn/e0a68bdbd10f41f081bb1c60d659bda4.png#pic_center =80%x80%)但问题在于这种方式不能使用于其他博客比如Hexo,所以需要转化成更通用的方式,即html的方式<div align="ce
2022-01-11 10:37:38 2580
原创 Hexo+Next主题的一些实用插件和美化升级
Hexo+Next主题的一些实用插件添加右上角图标folk github添加站内搜索主页显示项目动态效果moon-cake 进度显示和上下滑动代码颜色致谢添加右上角图标folk github找到自己喜欢的样式:http://tholman.com/github-corners/, 并复制代码打开: E:\Blog\themes\next\layout_layout.njk,添加<div class="headband"></div><!--找到大概23行代
2022-01-08 21:23:36 2817 1
原创 《断墨寻径》的笔记
《断墨寻径》的笔记前言重现目标与泛化目标指令学习和归纳学习归纳不足和以偏概全可泛化性和有效范围有效指令与有效实例材料瓶颈和模型瓶颈知识的存储位置和存储过程存储位置存储过程有效训练与精细加工新例预测和表述转换整体框架总结前言《断墨寻径》是一个B站Up做的关于学习方法的探讨和分析,其分析的完整性和深度都是少见的。Up主本身也是西安电子的老师,所以整体的内容可信度较高。这是他的视频连接:【教育部产学】不良学习误区自我排查:掌握科学学习,考入理想学校如他所讲"该课程其实适合所有应试生,但课程是主要针对高中
2022-01-01 17:13:35 3108
原创 语义分割标注方式和指标
语义分割标注方式和指标前言分割任务数据集标注方式标注工具评价指标前言这是我看大佬讲语义分割前言记的笔记。如果对这块内容有需要,建议直接看他视频。这是他B站主页,https://space.bilibili.com/18161609分割任务语义分割:区分类别实例分割:区分同一类别的不同个体全景分割:在实例分割的基础上,区分背景(如天空,草地)数据集标注方式COCO针对目标标注若干个点,用点之间的连线把目标圈出来标注工具只记了一个半自动的工具评价指标...
2021-12-30 15:07:16 6355
原创 Pytorch的SGD,Adam和RMSprop的分析和复现
Pytorch中的SGD,Adam和RMSprop前言SGDPytoch给的流程AdamRMSprop代码实现参考前言我总觉得,书本上说的是一回事,实际是另一回事。应实际看看优化器到底怎么算的,用矩阵运算把结果复现出来。SGD官方文档随机梯度下降(Stochastic Gradient Descent),这要强调和GD的区别。书本上的GD是遍历完所有的样本之后进行一次梯度下降,SGD是在得到一个样本后进行一次梯度下降,mini-batch是进行一定数量的样本之后才进行一次梯度下降。而我们实际使用的
2021-12-29 23:52:25 2260
原创 pytorch中的Relu对梯度的影响
pytorch中的Relu对梯度的影响Relu层代码测试验证Relu层卷积层和全连接层这种有可训练参数的,可以求梯度。Relu层怎么办?先说结论:Relu(x),若x<=0,x的梯度为0,若x>0,梯度为x。代码测试验证测试一个简单的网络,pred=relu(WX),loss = mean(pred - y)。不考虑Relu时,W的梯度应是X。import torchimport torch.nn as nndef seed_torch(seed=0): # rand
2021-12-29 21:41:15 1540
原创 从矩阵角度分析转置卷积
从矩阵角度分析转置卷积前言转置卷积的计算流程转置卷积和普通卷积的关系普通卷积填充卷积核以代替平移将卷积核和输入展平转置卷积转置卷积核和普通卷积核的关系总结参考前言上次从公式角度研究了转置卷积。这次想进一步从矩阵计算角度研究。内容基本上参考这位大神在B站讲解的转置卷积(transposed convolution),他在CSDN也有对应的博文转置卷积(Transposed Convolution)。强烈建议大家去看看B站的视频。我这里的图片都来源于这位大神。这里只是把我感兴趣的地方做个记录,以便后来查找
2021-12-28 21:36:16 1162
原创 ResNet结构详解
ResNet的层数34,50,101到底指什么?答案并不直接,得分两步来看。首先看ResNet34的对比图不用看细节,也不用自己数。这里的34层实际上是指左面的“34-layer-plain”中有34个层需要有可训练参数(卷积层和全连接层)。那么直接对比过来,ResNet34是指除去残差连接中的卷积层中的卷积层和全连接层。你可能会问,残差连接不就一条线吗,哪来的可训练参数?但事实是,实线处没有,虚线处是有卷积层的,为了保证尺度相等。然后再看这个表以34为例,34=1+2*(3+4+6+3)
2021-12-16 16:20:36 14694 7
原创 [目标检测]VOC2012数据集和labelImg标注工具
VOC2012数据集和labelImg标注工具前言VOC2012labelImg标注工具参考前言实际上就是看PASCAL VOC2012数据集讲解与制作自己的数据集的一点笔记,把重点的记下来了。VOC2012数据集官方地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.htmllabelImg标注工具官方地址:https://github.com/tzutalin/labelImg安装(Ubuntu)pip install
2021-12-07 19:21:42 2441
原创 [Pytorch]torch.nn.functional.conv2d与深度可分离卷积和标准卷积
torch.nn.functional.conv2d与深度可分离卷积和标准卷积前言F.conv2d与nn.Conv2dF.conv2d标准卷积考虑Batch的影响深度可分离卷积深度可分离卷积考虑Batch参考前言是在研究训练过程中遇到的F.conv2d与nn.Conv2d也就是torch.nn.functional.conv2d实际上是torch.nn.Conv2d的另一个用法,可以直接指定卷积核和偏置的值。 这在通常情况下是用不到的,因为卷积核的值都是训练得到的。但在一些相关运算(correlat
2021-12-05 12:59:40 6242 1
原创 Pytorch中的BatchNorm
BatchNorm前言BatchNorm参考文献前言首先放一张四种归一化的对比BatchNorm最基础的这个。先看看Pytorch怎么实现的参考文献Group NormalizationBatch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift...
2021-11-24 00:06:24 4044
原创 CNN中感受野的计算
CNN中感受野的计算概念计算公式参考概念感受野 (receptive field, RF)是卷积神经网络每一层输出的特征图上的像素点在原始图像上映射的区域大小。在网上看到了一张很好的图,可以表示整个关系。图片来源注意:计算感受野大小时,忽略了图像边缘的影响,即不考虑padding的大小。计算公式第k层的的感受野:lk=lk−1+((fk−1)∏i=1k−1si){l_k} = {l_{k - 1}} + \left( {\left( {{f_k} - 1} \right)\prod\lim
2021-11-23 11:09:13 972
原创 Pytorch中的Conv1d和Conv3d
Pytorch中的Conv1d和Conv3dConv1dConv3d参考Conv1dtorch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros')和Conv2d处理[N,C,H,W]相比,只是处理处理的数据为[N,C,L],其余相同。>>> x = torch.ones([1,5,7]
2021-11-22 22:49:19 2345 2
原创 Pytorch中的转置卷积
反卷积反卷积(Transposed Convolution)输出大小计算起点可以整除不可以整除综合起来参考文献反卷积(Transposed Convolution)又称为转置卷积。torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True, dilation=1, padding_mode='zeros')输出大小
2021-11-22 19:55:14 2622
原创 Pytorch中的卷积、空洞卷积和组卷积
Pytorch中的卷积、空洞卷积和组卷积标准卷积Conv2d具体操作空洞卷积组卷积参考文献标准卷积Conv2d最基础的卷积。下面图虽然丑了点,但足够说明问题了。注:(1) kernel的值在初始化中是随机生成的,可以每个值之间都不一样。 (2)每个通道只对应一个bias值。具体操作torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=
2021-11-22 16:46:07 2617
原创 python、numpy、Pytorch中的索引方式
python、numpy、Pytorch中的索引方式Numpy下标索引切片索引布尔索引花式索引(Fancy indexing)先从简单的情况看起稍微复杂点的切片考虑广播机制Python下标索引和切片索引布尔索引花式索引Pytorch下标索引和切片索引布尔索引花式索引参考能用索引方式过多,不止下标索引。自己写程序还好,关键是看人家写的程序,有时候会晕掉,不知所云。故在此总结。首先对Numpy的下标索引、切片索引、布尔索引和花式索引进行介绍和分析,然后研究Python和Pytorch中的索引方式是否包括以上
2021-11-21 22:24:20 904
原创 numpy和Pytorch中的random
前言作为测试用例,生成随机矩阵或者tensor很重要。可这个操作在numpy和Pytorch中略有区别。故在此处整理出。Numpynumpy.random 生成随机数如numpy.random.rand(2,3)推荐使用方式# 带键值对的方式,好记a = np.random.uniform(low=1,high=2,size=[255,255,3])a = np.random.normal(loc=1,scale=2,size=[255,255,3])# 若需要改变类型a.astyp
2021-11-21 17:52:32 1718
转载 Ubuntu下查看CPU、内存和硬盘详细信息的几个命令
转载自https://www.cnblogs.com/shixiangwan/p/7066085.htmlCPU:型号:grep "model name" /proc/cpuinfo |awk -F ':' '{print $NF}'内存数量:sudo dmidecode -t memory |grep -A16 "Memory Device$" |grep 'Size:.*MB' |wc -l内存支持类型:sudo dmidecode -t memory |grep -A16 "Memory De
2021-11-19 10:09:51 2777
原创 Hexo-NexT8添加CC协议
前言写完文章以后,想加个版权协议保护一下自己的劳动成果。(小声说:写的文章本来就没人看,根本用不着版权保护。而且版权保护只针对尊重版权的人。)为什么要写这篇博客,写完还单独列出来?因为网上的教程都过时了,无法在NexT8.8上成功使用。以下是经过探索后的正确方法。修改配置文件打开E:\Blog\themes\next\_config.yml,找到creative_commons,修改为以下即可。# Creative Commons 4.0 International License.# See
2021-11-18 23:00:02 482
原创 SSIM和PSNR
SSIMStructural Similarity(SSIM)结构相似性Matlab版定义MatLab版见官方介绍。基于三个项的计算,即亮度项、对比度项和结构项。SSIM(x,y)=[l(x,y)]α⋅[c(x,y)]β⋅[s(x,y)]γ\operatorname{SSIM}(x, y)=[l(x, y)]^{\alpha} \cdot[c(x, y)]^{\beta} \cdot[s(x, y)]^{\gamma}SSIM(x,y)=[l(x,y)]α⋅[c(x,y)]β⋅[s(x,y)
2021-11-18 20:03:57 2227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人