自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

原创 找回 git add 未 commit 的文件

记录一次找回 git add 未 commit 的文件过程

2023-01-16 17:56:22 975

原创 Mybatis Plus中公共字段自动填充当前用户信息时,如何获取当前用户session?

Mybatis Plus自动填充获取session

2022-06-09 17:01:20 857

原创 MyBatis.md

Mybatis学习笔记1、简介1.1 什么是 MyBatis?1.2 持久层1.3 为什么需要Mybatis?2、第一个Mybatis程序2.1 搭建环境2.2 创建一个模块2.3 编写代码2.4 测试3、CUDR3.1 namespace3.2 select3.3 insert3.4 update3.4 delete3.5 万能的Map3.6 模糊查询怎么写4、配置文件4.1 核心配置文件4.2 环境配置(environments)4.3 属性(properties)4.4 类型别名(typeAliase

2021-09-13 21:59:53 269

原创 CenterNet:Objects as points 环境配置(Ubuntu18.04+RTX3090+CUDA11+Pytorch1.7)

论文:CenterNet : Objects as Points论文地址:https://arxiv.org/abs/1904.07850代码地址:https://github.com/xingyizhou/CenterNet1 Install按照readme文件夹的install.md操作,本文在实验环境为Ubuntu18.04 RTX3090 CUDA11,Anaconda Python3.6 Pytorch1.7。1.1 创建虚拟环境# 创建虚拟环境conda create -n Cen

2021-09-02 16:17:17 855 1

原创 conda换源和相关命令

换源清华源镜像 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

2021-07-06 15:52:16 1291

原创 一句话理解瓶颈结构

瓶颈结构是一种长得像瓶颈的一样,上面小(卷积核)下面大(卷积核)的网络结构(可参考ResNet中的瓶颈结构)。如下图所示:图中上面使用比较小的1x1的卷积核减少卷积核的通道数(1x1卷积核的作用见NIN网络),然后使用等于上层通道数的3x3的卷积核进行特征卷积,最后在使用1x1的卷积核提高通道数使其达到目标数量。这样做的效果等效于使用3x3x256的卷积核,但是这样的瓶颈设计不仅减少了参数量还加深的网络层数。...

2021-07-01 20:18:47 4005 2

原创 通俗理解分组卷积

目录顾名思义这样做有啥作用呢?参考顾名思义分组卷积(Group Convolution)顾名思义,在对特征图进行卷积的时候,首先对特征图分组再卷积。如下图所示:这样做有啥作用呢?减少参数量,分成G组,则该层的参数量减为原来的1/G。feature map尺寸为CiHW,常规卷积的参数量是Ci*H*W*Co;分G组的分组卷积参数量是(Ci/G)*H*W*(Co/G)*G=(Ci*H*W*Co)/G;可以自己举一个简单的例子试一试。分组卷积可以看做是对原来的特征图进行了一个dropout,有正

2021-07-01 19:38:07 4249 2

原创 one-stage方法和two-stage方法的区别

One stage approach: 在图像上滑动复杂排列的可能bbox(即锚点),然后直接对框进行分类,而不会利用到物体内部特征,无法感知内部信息。Two stage approach:对每个潜在框会重新计算图像特征,然后将那些特征进行分类。...

2021-06-24 20:21:39 535 2

原创 nvidia-smi no devices were found的“奇技淫巧”

最近在跑深度学习的代码的时候突然出现这样的情况:昨天还能跑的代码,今天就突然崩了。然后发现nvidia-smi no devices were found。???这就一脸懵!!!网上查资料说是驱动问题,需要重装显卡驱动。由于我的设备是远程连接的别人的设备,只能放弃。突发奇想,让他一直nvidia-smi,查了一下ubuntu下命令是这样子:watch -n 0.1 -d nvidia-smi就是每0.1s查看一次显卡。奇迹诞生!!!!!!!...

2021-06-23 21:31:56 13391 15

原创 MEGA配置和在单GPU训练

环境安装:可以参考install.md文档,和maskrcnn_benchmark的install.md文档在rfbnet环境下测试是否可以运行MEAG程序 conda install ipython pip pip install ninja yacs cython matplotlib tqdm opencv-python scipy export INSTALL_DIR=$PWD...

2021-06-06 15:22:55 1536 3

原创 一句话解释空洞卷积和反卷积

空洞卷积通俗理解:在卷积核上增加空白数据,或者说是在卷积的时候固定跳过部分像素点,达到一次卷积看到的范围变大的效果。作用:在不增加参数的情况下,增大感受野。(效果等同于卷积+池化,但是避免了其中的弊端)反卷积通俗理解:在输入的图像中做空白填充,从而达到输出的图像变大的效果。作用:增大图像的尺寸,可以将卷积得到的特征还原到原像素空间中,是上采样的一种。(让通过卷积得到的特征图回到原来的大小,并保持原来的位置关系。)参考文献:看动图https://www.jianshu.com/p/

2021-06-02 11:11:22 233

原创 C++ 构造二维vector和初始化

构造一维vector在构造二维vector前先看一下vector的构造函数vector():创建一个空vectorvector(int nSize):创建一个vector,元素个数为nSizevector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为tvector(const vector&):复制构造函数vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中构造二维vector

2021-05-26 16:15:56 759

原创 巧用n&(n-1)

首先了解一下n&(n-1)的作用:将n的二进制中最右边的1变为0。举例:n = 10010 (n - 1) = 10001n & (n - 1) = 10000利用这一特性,可以一下计算:求某一个数的二进制表示中1的个数思路:有二进制中有多少个1,就需要将n的二进制中最右边的1变为0多少次int count = 0;while (n != 0) { n &= (n-1); count++;}2、 判断一个数是否是2的方幂思

2020-11-08 23:24:16 287

原创 Python3中对字典(按值或按键)排序的总结

首先应该注意的是python中的dict和set一样是无序的对字典进行排序,我们会用到python中的排序函数sorted(),下面先简单的介绍一下。sorted(iterable, key=None, reverse=False)参数说明: - iterable -- 可迭代对象。 - key --主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 - reverse -- 排序规则,reverse = True 降序.

2020-10-28 15:52:23 929 1

原创 std::ios::sync_with_stdio(false),tie(0)及其局限性

std::ios::sync_with_stdio(false)提高效率在c++中之所以cin,cout效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消`iostream`的输入和输出缓存,可节省时间,使效率与scanf与printf相差无几,还有应注意的是`scanf`与`printf`使用的头文件应是stdio.h而不是 iostream。局限性使用std::ios::sync_with_stdio(false)后,cin(),cout()不能与printf(

2020-10-02 21:04:24 949 4

原创 pip包管理工具命令

pip 包管理工具命令pip install 包名==版本包 安装某包pip unstall 包名 卸载某包pip -V 查看版本号pip freeze > requirements.txt 将项目依赖的包输入到指定的requirements.txtpip freeze -r requirements.txt 使用pip安装requirements.txt中的文件...

2020-07-03 17:03:16 167

原创 DOS命令

DOS基本命令:cd 切换目录cd…切换到上层目录cd 指定目录dir 浏览目录mkdir 创建目录 mk==makermdir 删除目录 rm==removeipconfig 查看ip地址ping 测试网络连接

2020-07-03 16:30:56 120

原创 通俗理解偏序关系中的八个特殊元(极大、极小、最大、最小元和上界、下界、上确界、下确界)

通俗理解偏序关系中的八个特殊元(极大、极小、最大、最小元和上界、下界、上确界、下确界)

2020-05-15 10:53:50 30716 2

原创 一句话解释离散数学中的P规则、T规则、CP规则,E和I

P规则:就是直接利用推理中给出的前提,即前提引入。T规则:就是由某一个或几个前提可以通过等价、蕴含得到其他命题公式,即推理规则I表示在T规则中通过蕴含式推出其他命题公式,即推理规则中的蕴含推理E表示在T规则中通过等价式推出其他命题公式,即推理规则中的置换规则...

2020-05-13 10:32:19 54311 1

转载 CSMA/CD工作原理(通俗易懂)

实际上CSMA/CD的工作流程与人际间通话非常相似,可以用以下7步来说明。第一步:载波监听,想发送信息包的节点要确保没有其他节点在使用共享介质,所以该节点首先要监听信道上的动静(即先听后说)。

2020-05-12 00:02:06 17219 1

原创 CCF 20140903 字符串匹配

思路:较简单,暴力破解+string类。精确匹配,用string类中的find函数即可;模糊匹配,先将需要匹配的字符转为小写字符,在用find函数。>大写转小写字符:s += 'a' -'A'

2020-04-24 10:14:36 154 2

原创 cin与getline混用时注意事项

当cin>>从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>> 会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>>不做处理。但是,getline() 读取数据时,并非像 cin>> 那样忽略第一个换行符,getline()发现 cin 的...

2020-04-23 22:08:53 417

原创 CCF 201403-3 命令行选项

思路:每行的命令用getline( )读入,读入后把其输入到streamstring中,每次以空格分隔成字符串,判断每一个字符串是否合法。最后把合法的选项存入到map中,map正好符合题意

2020-04-23 21:30:38 167

原创 CCF 20131203 最大的矩形

思路:暴力法。枚举以每一个hi为高,统计在其左边和右边高于(含等于)hi的矩形个数为count,计算出每个矩形的面积tmp=hi*count,标记出其最大值即可。

2020-04-23 10:28:15 81

原创 CCF 20131202 ISBN号码

题目简单,用string类就可以搞定

2020-04-22 23:59:02 134

原创 CCF 20131201 出现次数最多的数

思路:模板。用map统计一串数中每个数出现的次数,然后把map存到vector中,对vector进行排序,选出出现次数最多的数。常见套路,多次考察。

2020-04-22 22:19:03 92

原创 CCF 20140302 窗口

思路:以窗口为结构体,包含窗口id,所在层数layer,x1,x2,y1,y2。将所有窗口按层数从大到小排序,为了方便从最上层筛选点击的窗口;筛选到符合条件的窗口,break,在找到符合条件之前的所有窗口都减一。#include <iostream>#include <algorithm>using namespace std;const int N = 1...

2020-04-22 21:49:06 96

原创 CCF 20140301 相反数

思路:利用map可以容易实现统计一串数中每一个数出现的次数,由于题目中的数都不相等且不为0,故对数取绝对值进行统计,如果map[v]==2则计数器++。

2020-04-22 16:53:53 102

原创 CCF 20140902 画图

思路:枚举法。先将所有坐标对应的小正方形标记为0,之后标记范围内所有的小正方形为1。最后统计范围内所有的flag == 1的小正方形。

2020-04-22 13:51:15 96

原创 CCF 20141202 Z字形扫描

思路:暴力模拟,复杂度O(n^3)。Z字形扫描时,i + j == t,循环遍历所有的t的可能值即可t在[0…2*(n-1)]范围内,i,j在0…n。t是偶数时,先打印行;t是奇数时,先打印列。#include <iostream>using namespace std;const int N = 500;int data[N][N];int main(){ ...

2020-04-22 10:33:08 83

原创 CCF 20141201 门禁系统

思路:这种串数字统计每个数字出现次数的题型都可以用map做,简单,CCF有好几道类似的题目,可以把它当做一个模板使用。#include <iostream>#include <map>using namespace std;int main(){ int n,v; cin>>n; map<int,int> m;...

2020-04-21 23:05:05 82

原创 CCF 20150302 数字排序(map按值Value排序)

思路:用map统计每一个数的个数,将map存入vector<pair<int,int> >中,对vector进行排序,自定义cmp函数。这是一个模板,map按值Value排序。

2020-04-21 19:40:15 135

转载 map的注意事项

C++ map注意事项 1、在map中,由key查找value时,首先要判断map中是否包含key。2、如果不检查,直接返回map[key],可能会出现意想不到的行为。如果map包含key,没有问题,如果map不包含key,使用下标有一个危险的副作用,会在map中插入一个key的元素,value取默认值,返回value。也就是说,map[key]不可能返回null。3...

2020-04-21 18:18:41 475

原创 CCF 20150301 图像旋转

简单,通过观察发现最后一列变到第一行,但是顺序没变,很容易代码实现。#include<iostream>using namespace std;int main(){ int n,m; cin>>n>>m; int a[n][m]; for(int i = 0; i < n; i++){ fo...

2020-04-21 17:56:41 104

原创 CCF 20151201 数位之和

简单代码如下:#include<iostream>using namespace std;int main(){ int n,ans = 0; cin>>n; while(n){ ans += n %10; n /= 10; } cout<<ans<<endl;...

2020-04-21 17:03:36 99

原创 CCF 20150902 日期计算

思路:先将每个月的天数存储在数组中(默认按不是闰年存储),判断是闰年时,days[1]++。之后while判断d大于0时就减去days[i]。最后回溯一下未减去days[i]之前的d就是该月的天数,i+1就是月数。代码如下:#include<iostream>using namespace std;int days[12] = {31,28,31,30,31,30,31...

2020-04-21 14:00:21 90

原创 CCF 20150901 数列分段

题目简单,直接上代码代码如下:#include<iostream>using namespace std;const int N = 1000;int a[N] = {0};int main(){ int n; cin>>n; for(int i = 0; i < n; i++){ cin>>...

2020-04-21 13:04:11 66

转载 CCF 20160902火车购票

思路:用数组a[20]记录每一排剩余的座位数。每次分配单独处理,a[i]>=val&&i!=20时说明够相邻分配,开始分配;i==20时说明每一排都不够分配,这样按不相邻分配。#include<iostream>using namespace std;int main(){ int n; cin>>n; int ...

2020-04-20 21:52:33 82

原创 CCF 20160901 最大波动

题目较简单。大体思路是把代码存在数组中,然后相邻的两个数相减,取绝对值,标记其最大值即可。代码实现#include<iostream>#include<algorithm>using namespace std;const int N = 1000;int data[N] = {0};int main(){ int n; cin&g...

2020-04-20 17:32:42 83

原创 哈夫曼压缩编码

问题描述求哈夫曼编码的最小编码长度。输入格式输入的第一行包含一个整数n,表示单词的数量。第二行包含n个整数,用空格分隔,分别表示a1, a2, …, an出现的频率,即t1,t2, …, tn。请注意a1, a2, …, an具体是什么单词并不影响本题的解,所以没有输入a1, a2, …, an。输出格式输出一个整数,表示文字经过编码后的长度L的最小值。输入样例51...

2020-04-20 13:32:48 255

numpy快速入门--numpy基础教程

NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。这是一篇Numpy的快速入门教程,主要参考了Numpy中文网的资料。

2020-10-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除