- 博客(63)
- 收藏
- 关注
原创 MMPretrain
首先整个mmlab都是通过使用cfg来进行配置的,所以我们如果要进行自己的resnet50配置,我们可以从官网的cfg来进行参考.首先是模型,模型分为backbone骨干网络,head就是输出头,使用neck来进行连接网络.然后最后的loss,实在模型里就定义号了,使用的是topk之后就是dataset的配置,我们使用的type是自定义的type,设置输入的train,还有val路径,之后设置val的评估指标,使用top1.下面就是训练时候的配置,循环次数,还有优化器。
2023-06-10 17:13:58 1071 2
原创 MMPretrain
首先整个mmlab都是通过使用cfg来进行配置的,所以我们如果要进行自己的resnet50配置,我们可以从官网的cfg来进行参考.首先是模型,模型分为backbone骨干网络,head就是输出头,使用neck来进行连接网络.然后最后的loss,实在模型里就定义号了,使用的是topk之后就是dataset的配置,我们使用的type是自定义的type,设置输入的train,还有val路径,之后设置val的评估指标,使用top1.下面就是训练时候的配置,循环次数,还有优化器。
2023-06-07 17:17:31 794
原创 mmlab简介
mmlab算法库是mmlab实验室在github上开源的一系列算法。由港中文的汤晓鸥教授建立的。本节主要介绍mmlab算法库相关简介思维导图如上。主要包括目标检测,3d点云,图像分割,图像识别,视频理解,还有AIGC等相关应用。最后还有部署的算法库mmdeploy。目前几乎涵盖了计算机视觉相关的所有领域。在学术界还有工业界都被广泛的使用。
2023-06-01 20:01:15 2182
原创 ssh代理服务器
1.SSH动态绑定这是SSHfq的基本原理:利用SSH动态绑定的功能。那么何谓SSH动态绑定呢?动态绑定是SSH端口转发功能的一种形式,借用一张图:首先,墙内的客户机跟墙外的代理服务器,建立好SSH连接,并设定动态绑定此时墙内客户机上的SSH会监听本地的一个端口7001客户机上的程序,将对www.youtube.com:80的请求告知7001端口的SSH,SSH将此请求通过SSH加密连接发送到墙外服务器的SSH上由于建立的动态绑定,服务器会将www.youtube.com:80的请求发送给www
2022-03-26 12:16:09 2794
原创 11. 盛最多水的容器
11. 盛最多水的容器11.1题目大意给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为
2022-01-27 16:16:43 102
原创 10正则表达式匹配
10. 正则表达式匹配10.1题目大意给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。输入:s = "aa" p = "a"输出:false解释:"a" 无法匹配 "aa" 整个字符串。输入:s = "aa" p = "a*"输出:true解释:因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素
2022-01-27 16:02:33 467
原创 9. 回文数
9. 回文数9.1题目大意求是不是回文数easy题目,直接变成字符串,然后再一个翻转就可以判断9.2代码实现class Solution {public: bool isPalindrome(int x) { string s =to_string(x); string a=s; reverse(s.begin(),s.end()); return s==a; }};...
2022-01-27 15:18:55 5199
原创 8.字符串转换整数 (atoi)
8. 字符串转换整数 (atoi)8.1题目大意请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将
2022-01-27 15:13:44 103
原创 7. 整数反转
7. 整数反转7.1题目大意给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。输入:x = 123输出:3217.2题目思路yxc套路题,对x进行取模,并且x10相加核心while(x){ r=r*10+x%10; x/=10; }7.3代码实现
2022-01-27 15:06:15 272
原创 5.最长回文子串
5. 最长回文子串5.1题目大意给你一个字符串 s,找到 s 中最长的回文子串。输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。5.2题目思路通过中心扩散来计算,就是遍历i,设置左右两个j,k,看左右两个jk是否相等,相等就j–,k++注意,考虑是奇偶行如果为奇数 j=i-1,k=i+1如果是偶数j=i,k=i+1,最后更新ans,比较大小5.3代码实现class Solution {public: string longestPa
2022-01-27 14:53:42 478
原创 3.无重复字符的最长子串
3.无重复字符的最长子串3.1题目大意给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。3.2题目思路这一个题目使用滑动窗口,首先让i,j都在0点,使用i一直往前走,同时用hash记录s【i】的次数,如果次数s【i】大于1,说明i,j这一段有重复的,那么就把j往后移,直到s【i】为1,同时更新最大长度其实就是一个队列,比如例题中的 abcabcbb,进入这个
2022-01-27 14:38:15 100
原创 pat1043
pat10431.题目大意给定一个前序序列,来进行判断是否完全二叉树。2.思路对整个序列进行排序,因为完全二叉树中序遍历就是排好序了的。所以我们根据前序和中序看是否能够建树,如果不行,那就对前序进行翻转,再次重建,看是否可以,如果还是不行,那么就是真的无法建树。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ivfbAMN3-1639230724755)(https://files.catbox.moe/zxdj23.png)]建树过程,如果是正常的,那就是正常建树
2021-12-11 21:52:24 355
原创 pat1021
pat10211.题目大意求无向图的最大深度,如果不是树,那么就输出联通分量。记录使用之前的add函数来加边,由于是无向图,需要两边都加同时,使用dfs来进行统计树的高度,还有一件事,就是因为是无向图,所以,要避免自己再次出现。int dfs(int u,int father){// 由于是无向图,难免会把自己加入的,father是自己,就需要跳过 int depth =0; for (int i = h[u]; ~i; i = ne[i]) { i
2021-12-11 21:12:16 395
原创 pat1020
pat10201.题目大意给定中序和后序遍历,让你重建二叉树。并且输出层序遍历2.思路这题使用左右数组来记录左右子孩子的下标,然后,使用queue来进行层序输出。建树过程如下,首先找到根节点,根节点就在后续遍历的最后一个,接着,中序遍历的两个就是左右子树,然后递归进行建树。note:同时可以使用map来进行加快索引,既可以记录这个值所在的下标int build(int il,int ir,int pl,int pr){// 建树 int root =post[pr];
2021-12-11 20:45:59 158
原创 pat1004
pat10041.题目大意给定一棵树,输出每一层的叶子节点。由于不是普通的二叉树,有可能一个父节点有多个子节点。所以使用灵界表法进行输出。2.思路使用dfs,进行统计层数,每一层都进行加一。使用灵界表,需要e,ne,h三个数组,h数组全部都是-1.还有一个add,就是添加子节点。使用idx进行来检索e【idx】=b,ne【idx】=h【a】,h【a】=idx++。必备代码void add(int a, int b){ e[idx] = b, ne[idx] = h[a], h[a]
2021-12-11 20:25:26 105
原创 pat1027
1027 Colors in Mars (20 分)题目思路普通的进制转换坑点就是字符串可以直接与string相加,不需要使用to——string相关知识点进制转化 while (a){ int c=a%13; if(c>=10){ char t=c-10+'A'; s= t+s; } else{ s= to_string(c)+s; }
2021-11-15 22:54:56 460
原创 pat1015
1015 Reversible Primes (20 分)题目思路本体是输入的N只要不是附属就继续读取数字,第一个是十进制数,第二个是代表要转化的进制。23 2代表23再2进制转化的结果,再进行反转得到十进制是29也是质数。构建质数判别器,=1返回不是质数,接下来能被整除也不是质数构建反转后的值,通过while,进行更新进制值最后把这两个都丢进质数判别,就可以了相关知识点质数检测bool is_prime(int n){ if (n == 1) return fa
2021-11-15 22:54:31 83
原创 pat1136
1136 A Delayed Palindrome (20 分)题目大意还是普通的回文数加法进行求解。何之前一样高精度+reverse代码复现#include "iostream"#include "vector"#include "algorithm"using namespace std;bool is_cir(string a){ string b=a; reverse(a.begin(),a.end()); return a==b;}int main
2021-11-15 22:44:05 508
原创 pat1058
1058 A+B in Hogwarts (20 分)题目大意不同进制进行加法。首先全部相加,然后,在进行进1,超过直接取模,然后高位加1代码复现#include "iostream"#include "vector"#include "algorithm"using namespace std;typedef long long ll;//10的7次超过intint main(){ ll a,b,c; scanf("%lld.%lld.%lld",&a,&a
2021-11-15 22:39:53 560
原创 pat1024
1024 Palindromic Number (25 分)题目大意进行回文数判定,如果不是就进行反转相加,直到10次结束或者是回文数结束。高精度+字符串反转就可以。代码复现#include "iostream"#include "vector"#include "algorithm"using namespace std;bool is_cir(string a){ string b= a; reverse(a.begin(),a.end()); return
2021-11-15 22:34:21 349
原创 pat1023
1023 Have Fun with Numbers (20 分)题目思路输入一个高精度的数字,让后对她进行加倍。看是否能由原来的数字来组成。使用高精度加法来进行加倍设置一个p=0为仅为,如果超过10就设置为1当最后p还是为1的时候,就在字符串前面加一个1接下来对这两个vector进行排序,排序默认都是从小到大如果两个vector不相等,就代表不是统一写字符串组成的相关知识点高精度的加法使用vector来进行数字计算。同时还要对vector进行反转 int p
2021-11-15 22:30:55 605
原创 pat1077
pat1077题目大意寻找最大公告后缀寻找后缀可以变成寻找前缀第一个是默认为最长的字符串接下来就是当前字符串与公告字符串进行比较找到最小的长度,并且进行对当前字符串的截取之后就是比较相关知识点getline获取空格的字符串reverse来进行反转代码复现#include<iostream>#include<algorithm>#include <unordered_set>#include <unordered_map>#i
2021-11-13 11:16:28 207
原创 pat1073
1073 Scientific Notation (20 分)题目思路使用科学计数法,恢复程原始数字。首先进行划分底数和指数部分接下来把指数+1,底数前移一维,形成0.的底数然后根据指数大小和底数长度长度来进行填充0相关知识点stoi把字符串转化为数字代码复现#include <iostream>using namespace std;int main(){ string s; cin >> s; if (s[0] == '-'
2021-11-13 11:04:45 222
原创 pat1060
1060 Are They Equal (25 分)题目思路科学计数法,保留三位有效数字,看是否相等。首先把每一个数字转化为科学计数法首先找到小数点,指数为小数点所在的位置k,同时去除小数点接着,检查第一个数字是不是0,如果是0不符合科学计数法,就把k–(相当有效位扩大接下来就是讨论总体长度与有效位的大小,如若小了就进行截取如果大了就是用0填充最后比较这两个是否相等相关知识点补充0填充basicString=basicString+string(n-basi
2021-11-13 10:50:54 224
原创 pat1006
1006 Sign In and Sign Out题目大意就是寻找出最早进入的人,和最晚走的人。很简单就是直接比较。不过就是要注意,第一个i是0,这是最早时间和最晚时间全部初始化第一个人的时间。不然就是,进行时间的大小比较,然后进行更新时间。详细代码#include<iostream>#include<algorithm>using namespace std;const int N=10010;int main(){ int n;
2021-11-10 23:31:12 58
原创 pat1017
1017 Queueing at Bank (25 分)题目思路给了7个人和3个窗口进行排队,每天早上8点进行上班,然后时间超过17点就不进行服务,计算所有人的等待时间与之前一样,把所有的时间转化为秒为单位进行比较超过17点的不算做今天服务人员接下来初始化3个优先队列(最小的)优先队列加入3个8点时的时间然后收集所有人的时间进行排序对每个人进行遍历取出这个人到达的时间,与有限队列pop出的最小的时间进行比较取出最大值,然后加入服务时间,得出的结果再次放入到有限队列里进行计算等待时间
2021-11-10 23:30:30 57
原创 pat1050
1050 String Subtraction (20 分)题目大意就是第一个字符串减去第二个字符串。在第二个字符串出现过的字幕就不能在第一个字符串出现本题使用set来进行加入第二个字符串出现的,如果第一个字符串在set找到当前子母就跳过。相关知识点使用set,set加入是insert,查找是count,如果》0,说明找到了,就直接跳过代码复现#include<iostream>#include<algorithm>#include <unordered_se
2021-11-10 23:29:58 77
原创 798.二维差分
798.二维差分1.题目大意输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上c。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每行包含5个整数x1, y1, x2, y2, c,表示一个操作。输出格式共 n 行,每行 m 个整数,表示所有
2021-10-12 21:25:58 71
原创 797. 差分
797. 差分1.题目大意输入一个长度为 nn 的整数序列。接下来输入 mm 个操作,每个操作包含三个整数 l,r,cl,r,c,表示将序列中 [l,r][l,r] 之间的每个数加上 cc。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数 nn 和 mm。第二行包含 nn 个整数,表示整数序列。接下来 mm 行,每行包含三个整数 l,r,cl,r,c,表示一个操作。输出格式共一行,包含 nn 个整数,表示最终序列。数据范围1≤n,m≤1000001≤n,m≤100000,
2021-10-12 20:50:18 344
原创 [剑指 Offer 51. 数组中的逆序对]
剑指 Offer 51. 数组中的逆序对1.题目在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2.思路本题来自acwing思路传统的
2021-09-28 22:12:48 148
原创 acwing786-第k个数
acwing786-第k个数1.题目给定一个长度为 nn 的整数数列,以及一个整数 kk,请用快速选择算法求出数列从小到大排序后的第 kk 个数。输入格式第一行包含两个整数 nn 和 kk。第二行包含 nn 个整数(所有整数均在 1∼1091∼109 范围内),表示整数数列。输出格式输出一个整数,表示数列的第 kk 小数。数据范围1≤n≤1000001≤n≤100000,1≤k≤n1≤k≤n输入样例:5 32 4 1 5 3输出样例:32.思路题目让选择使用快速选择
2021-09-28 22:11:47 175
原创 cs231n作业——softmax
cs231n作业——softmaxcs231ncs231n作业——softmax1.基础知识2.使用循环进行求loss和求导3.向量化进行求导和loss1.基础知识Inputs:- W: A numpy array of shape (D, C) containing weights.- X: A numpy array of shape (N, D) containing a minibatch of data.- y: A numpy array of shape (N,) contain
2021-09-09 11:56:44 1041 1
原创 cs231n-svm作业
cs231n-svm作业svmcs231n-svm作业1.基础概念1.1 向量重构1.2 种类和样本数2.非向量化求导和loss2.1svm理解2.2svm求loss2.3svm求导3.向量化求导和求loss3.1向量化求loss3.2向量和求dw1.基础概念1.1 向量重构X_train = np.reshape(X_train, (X_train.shape[0], -1))这样就设置乘 n* 3073 的二位向量因为图像的大小为32*32 * 3 =3072的rgb图像,这样就把一张图
2021-09-06 17:22:34 953
原创 cs231n作业一 knn
cs231——knn作业cs231——knn作业cs231——knn作业1.基础概念1.1 self.X_train1.2 y_train1.3 X2.作业一——两层循环实现3作业二——实现knn投票机制4作业三——使用一层循环实现5作业四——不用循环6作业五--交叉验证1.基础概念1.1 self.X_train这是训练集,是由n*d的二位向量组成,表示由n个样本,每一个样本有d个特征值,就是把图片拉直了1.2 y_train这是训练集的标识,由数值组成,是n*1组成的,范围在0-9之间
2021-08-28 14:49:42 3636 1
原创 锐化空间滤波
这里写目录标题2.4锐化空间滤波2.4.1基础2.4.2拉普拉斯变换2.4.3梯度进行锐化2.4.4Sobel算子2.4锐化空间滤波图像锐化就是增加高频,一直低频。顾名思义就是增强细节。2.4.1基础细节:就是数值突变的地方,与背景的值差异比较大。就是一阶导为0差分:由于微分不好计算,因此可以用差分进行替代。二阶差分:2.4.2拉普拉斯变换定义是两个二阶偏导的和,由上面的二阶差分,可以得出拉普拉斯算子。f(x+1,y)是f(x,y)的上一个点。因此可以用卷积来得出算子。第一个就是
2021-07-16 14:53:23 531
原创 线性空间滤波
线性空间滤波2.线性空间滤波2.1基础知识2.2卷积过程2.3平滑空间滤波器2.3.1领域平均滤波器2.3.2加权平均滤波2.线性空间滤波2.1基础知识噪声:灰度值突变卷积:又称滤波卷积过程:一直是对原图像进行处理,不使用修改后的值2.2卷积过程G(x,y)=∑s=−aa∑t=−bbW(s,t)f(x+s,y+t)G(x,y)=\sum_{s=-a}^{a} \sum_{t=-b}^{b} W(s,t)f(x+s,y+t)G(x,y)=s=−a∑at=−b∑bW(s,t
2021-07-05 19:13:13 963
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人