自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 点云处理的train pipeline

点云处理 train pipeline

2022-10-26 16:11:50 1145 1

原创 DETR3D代码阅读

DETR3D源码阅读

2022-10-09 16:58:55 1593 5

原创 Deformable Detr代码阅读

deformable detr源码阅读

2022-10-08 22:16:30 3065

原创 DETR源码阅读

mmdet中的detr源码阅读

2022-10-07 20:13:13 1831

原创 weak supervised object detection论文阅读

weak suprevised object detection论文阅读

2022-10-04 17:41:26 711 1

原创 pytorch常用操作

pytorch常用操作总结

2022-10-01 22:21:53 567

原创 ego坐标系投影到uv平面

ego坐标系投影到uv平面

2022-09-29 17:32:21 496 1

原创 对比学习综述

本文是在看李沐大神在b站上的视频时所做的笔记,视频链接如下:对比学习论文串烧这篇文章可以说是巨人的肩膀,提出了Instance Discrimination(个体判别)这个代理任务。这篇文章受到有监督学习的启发,如果我们将一张豹子的照片放到一个已经用有监督学习方法训练好的模型中,这个模型给出的分类结果往往都和豹子相关,如猎豹,雪豹等这篇文章简单来说就是想通过一个卷积神经网络,将图片编码成一个特征,使得这些特征在最后的特征空间中尽可能的分开。(个体判别任务意味着每张图片都是一个类,所以希望他们尽可能分

2022-06-20 10:20:09 2656

原创 用MMdetection训练自己的数据集

利用MMDetection进行训练,一般需要下面这几步:选择一个基础模型,下载对应的配置文件和预训练的参数文件将数据整理成MMDetection支持的形式,如COCO格式或者其他格式修改配置文件:2. 用预训练好的权重来进行coco数据集的训练首先先搜索一下模型的config这样就会显示出mmdet中已经预训练好的yolov3的模型然后选择合适的进行下载这样就下载好了模型的配置文件和预训练的权重然后修改配置文件执行下面的命令进行训练...

2022-06-13 23:13:00 1913

原创 单目3D目标检测前置知识

坐标系转换主要设计到四个坐标系,包括世界坐标系,相机坐标系,像素坐标系和图像坐标系。世界坐标系和相机坐标系之间的转换其实是旋转和平移的过程,即先旋转到目标坐标系的方向,然后再平移过去。假设目标坐标系下某一点为[x,y,z],该点在当前坐标系下的坐标为[x’,y’,z’],变化方式如下:[xyz]=R[x′y′z′]+T\begin{bmatrix}x\\y\\z\\\end{bmatrix}=R\begin{bmatrix}x'\\y'\\z'\\\end{bmatrix}+T⎣⎡​xyz​⎦⎤​=R

2022-06-13 21:14:32 499

原创 Leetcode 买卖股票的时机II

题目给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路扫描一遍 只要后一天比前一天大 就把这两天的差值加一下代码class Solution {public: int maxProfit(vector<int>& prices) { int ans=

2022-01-13 19:46:24 132

原创 Leetcode 买股票的最好时机

题目给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0思路这道题也可以看成一道DP问题,假设在第i天卖出,那么我们只要找到前i天的最低价格,并在那时候买入就可以了,因此用dp[i]来表示前i天股票的最低价格,很显然有状态转移方程为dp[i]=min(dp[

2022-01-13 19:33:25 160

原创 最长上升子序列 输出路径

题目给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。代码class Solution {public: int lengthOfLIS(vector<int>& nums) { int N=nums.size(); vector<int&gt

2022-01-13 17:54:30 257

原创 Leetcode day11 相交链表

题目给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:思路方法1:计算两两链表的长度差为k,让长的那个先走k步,再一起走,当两指针值相同时,就找到了相加的结点方法2:用unordered_set存储A中的结点,然后遍历B,看B中的结点是否存在A中方法3:利用两链表的长度和为定值** * Definition for singly-linked list. * s

2022-01-12 13:34:06 259

原创 Leetcode day10 全排列2

题目给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。思路最开始想把所有的全排列都找出来,然后再去重,结果遗憾超时要想保证没有重复的排列,那么就需要在path的每个位置,每个重复的数只能出现一次因此可以先对数组进行排序,保证相同的数字都相邻,然后每次填入的数一定是这个数所在重复数集合中「从左往右第一个未被填过的数字」。以[1,1,2]为例,先选第一个1和先选第二个1产生的分支是一模一样的,这就是产生重复的原因class Solution {public:

2022-01-12 11:35:06 233

原创 Leetcode day9 全排列

题目:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。思路dfs,当成模板题记住即可代码class Solution {public: bool st[10]; vector<int> path; void dfs(vector<vector<int>> &res,vector<int>& nums,int u,int n){ //n是数组长度,u是当前处

2022-01-12 09:52:23 82

原创 Leetcode day8 一次编辑+压缩字符串

题目字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。思路因为只能通过一次或者零次编辑,所以如果给定字符串的长度大于2的话,那么可以直接返回false;如果两字符串长度相等,那么肯定是通过替换得到的,两个字符串对应位置只能有一个不同的地方,遍历字符串统计对应位置不同的数目即可;如果两字符串长度 相差1,那么可以认为是短的字符串插入一个字符得到长的字符串,采用双指针法,如果两个字符串对应的位置的字符相同,两个指针都+

2022-01-08 11:09:05 318

原创 Leetcode day7 URL化

题目URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。思路双指针法,从后向前复制代码class Solution {public: string replaceSpaces(string S, int length) { int i=length-1; int j=S.size()-1; // cout<<j<<endl;

2022-01-07 21:11:14 3277

原创 线性回归的框架实现和非框架实现

这是看了李沐大神的动手深度学习,自己敲了一遍,直接上代码吧,注释已经写的很清楚了用pytorch实现import numpy as npimport torchfrom torch.utils import datafrom d2l import torch as d2l"""生成数据集"""true_w = torch.tensor([2, -3.4])true_b = 4.2features, labels = d2l.synthetic_data(true_w, true_b, 1

2022-01-06 11:48:54 808

原创 Leetcode day6 分发饼干+分发糖果

题目假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/assign-cookies

2022-01-06 09:54:48 392

原创 Leetcode day5

题目整数反转给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-integer思路用一个slice来记录给定整数的每一位,然后再反着乘起来我的垃圾代码(空间复杂度O(n))func reverse(x int) int { i:=0 va

2022-01-05 21:39:48 209

原创 Leetcode 每日一题day4 回文数(水题)

题目给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。链接:https://leetcode-cn.com/problems/palindrome-number思路转成字符串,遍历对比即可代码import "strconv"func isPalindrome(x int) bool { s := strconv.Itoa(x) f

2022-01-04 22:32:38 388

原创 Leetcode每日一题 day3 无重复字符的最长子串

题目给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。思路因为ASCII有256个,因此开一个长度为256的数组来记录某一字符是否出现过。遍历字符串,用left和right两个下标来表示当前处理的区间。用滑动窗口的思想来解决,滑动窗口右边界不断右移,只要没有重复字符,就持续扩大窗口边界。一旦出现了重复字符, 就缩小左边界,直到重复的字符在左边界之外(注意:此时应将移出左边界的字符在数组中的值置为0,表示没有在当前处理的区间中出现过)。每次移动后都需要计算当前长度并更新。代码f

2022-01-03 10:42:09 267

原创 Leetcode 每日一题 day2 2022.1.2

题目两数相加链接:https://leetcode-cn.com/problems/add-two-numbers/给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。思路因为给的链表是倒序的,也就是低位再前,高位在后,而加法运算刚好是从低位开始相加,所以刚好可以从头遍历链表,将两个链表对应的值相加,用一个变量car

2022-01-02 11:19:34 114

原创 Leetcode 每日一题(Golang) 2022.1.1

题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum示例:代码:`func twoSum(nums []int, target int) []int {m:=make(ma

2022-01-01 23:23:47 185

原创 shell脚本基础之二控制语句与函数

1. shell的if语句格式一:if [ 条件1 ];then 第一段程序else 第二段程序fi #表示if语句结束格式二:if [ 条件1 ];then 第一段程序elif [ 条件2 ];then 第二段程序else 第三段程序fi #表示if语句结束例子:结果为:2. shell的case语句case $变量名称 in 第一个变量) 程序段一 ;; #相当于break 第二个变量) 程序段二 ;; #相当于break *)

2020-10-18 16:41:21 138

原创 Shell脚本概述及基础知识之一

1. shell脚本的概述shell既是一种应用程序,又是一种程序设计语言1.1 作为应用程序交互式的解释和执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应的功能,故也称为shell命令解析器用户在提示符下输入的命令都由shell先解释然后再传给Linux核心,所以说shell是用户和Linux内核之间的接口程序Linux系统中提供了好几种不同的shell命令解释器,包括bash,ash,sh等。一般都使用默认的bash作为默认的解释器。1.2 作为程序设计语言它定义了各种

2020-10-18 16:16:51 311

原创 java核心技术卷I读书笔记

第五章1.子类不能访问父类的私有成员2.当子类调用父类中的方法时,必须在方法名前用关键字super来声明这个方法是父类中的方法,否则会引发程序崩溃3.Manage类继承于Employee类,比Employee类多一个属性为bonusMangage类的一个构造器为public Manage(String name,double salary,int year,int month,int day){ super(name,salary,year,month,day); bonus=0;

2020-10-16 10:34:06 137

原创 IDEA快捷键设置

2020-10-15 19:06:35 75

原创 Java枚举类

枚举适用于类的对象是确定的有限个,比如线程的状态,只有创建,就绪,运行,阻塞,死亡这几种;季节有春夏秋冬四种。当定义一组常量时,使用枚举类是一个非常不错的方法1.自定义枚举类package com.aiguigu.java;public class SeasonTest { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(sp

2020-10-15 16:36:01 62

原创 Java多线程

1.创建多线程的方法多线程的创建有四种方法1.1 继承Thread类具体有一下四步1.创建一个继承于Thread类的子类2.重写Thread类的run()方法3.创建Thread子类的对象4.通过此对象调用start()方法具体的代码如下:import java.lang.Thread;class MyThread extends Thread{ @Override public void run(){ for(int i=0;i<100;i++){

2020-10-15 15:08:05 74

原创 1037 Magic Coupon (25分)

The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, meaning that when you use this coupon with a product, you may get N times the value of that product back! What is more, the shop also offers some bonus produ

2020-10-06 16:44:11 77

原创 1033 旧键盘打字 (20分)

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 10​5​​ 个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代表上档键)。题目保证第 2 行输入的文字串非空。注意:如果上档键坏掉了,那么大写的英文字母无法被打出。输出格式:

2020-10-06 16:12:01 82

原创 1084 Broken Keyboard (20分)

On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters corresponding to those keys will not appear on screen.Now given a string that you are supposed to type, and the string that you actually type out, please

2020-10-06 15:48:16 77

原创 1012 The Best Rank (25分)

To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus or Linear Algrbra), and E - English. At the mean time, we encourage students by emphasi

2020-10-05 20:55:46 109

原创 Python基本数据类型总结

这篇文章主要是对Python中的基本数据类型,包括列表,元组,字典,字符串的简单总结1.字符串1.1字符串的创建创建字符串只需要为变量分配一个字符串类型的值即可s1='hello world!'s2='Python'1.2字符串的索引可以用字符串变量名加上方括号对字符串进行索引,下标从0开始,示例如下var1 = 'Hello World!'var2 = "Python Runoob" print(var1[0])print(var2[1:5])输出结果为:Hytho1

2020-07-24 09:57:05 854

原创 递归实现排列型枚举

题目把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1思路这道题采用dfs算法,利用递归实现#include<iostream>using namespace

2020-05-18 21:13:36 490

原创 指数型枚举

题目:从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3思路:用二进制的0和1来表示数字是否取该位上的数字,1表示取,0表示不取 int n; int state;

2020-05-18 20:56:20 429

原创 SQL基本语句

1.SQL的定义功能1.1 表结构的定义建立数据库首先要定义表的结果,SQL中用于创建基本表的语句如下:create table <表名>(<列名> <数据类型> [,列级完整性约束条件][,表级完整性约束条件])事实上SQL是不区分大小写的,create table也可以写成大写下面给出一个例子create table 学生(学号 ch...

2020-03-28 16:43:23 755

原创 用栈解决括号匹配问题

数据结构中,栈的一个简单应用便是解决括号匹配的问题,我们的目的是输入一个字符串,输出匹配的括号和没有匹配的括号。例如:我们输入“(a+b)*(d+c)(” 这样一个字符串输出结果为:代码如下:首先建立栈的类#include<iostream>#include<string.h>using namespace std;const int stackIncr...

2020-02-09 14:28:58 923

空空如也

空空如也

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

TA关注的人

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