- 博客(161)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 165. 比较版本号
添加链接描述给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和修
2021-09-01 10:38:17 227
原创 在本地显示远程服务器的TensorboardX结果
在期末作业中想显示TensorboardX结果,搞了好久都没有成功,突然想到自己是想在本地显示服务器上的结果,之前的方向都是错的(在本地显示本地的结果)。下面记录一下在本地显示服务器的tensorboardX结果的步骤使用工具:Xshell1、建立本地与服务器的隧道连接建立ssh隧道,实现远程端口到本机端口的传递。远程服务器被监听的端口默认为6007端口,本机电脑任意一个非占用的端口都可以作为隧道建立的端口。在XShell的目标服务器上右键选择 属性->ssh->隧道->添加,如
2021-06-20 17:16:02 810
原创 python 将字典写入csv
import osimport jsonimport csvimport os.pathfrom pathlib import Path# os.path.isfile(fname)root='/faster_rcnn'save='sum.csv'h=['name','AP','AP50','AP75','bAP','bAP50','bAP75','nAP','nAP50','nAP75']with open(save,'w',newline='') as f: writer
2021-06-07 14:38:29 1265 1
原创 Python判断文件/目录是否存在
1、将str类型转换为path,使用pathlib中的模块进行检查from pathlib import Pathrott='/tmp/f'root=Path(rott)#判断文件是否存在:if root.is_file():#判断目录是否存在if root.is_dir():#判断文件或者目录是否存在:if root.exists(): 2、使用os.path.exists()检查import os.pathos.path.isfile(fname) #用于检查文件是
2021-06-07 14:09:53 548 1
原创 Resnet训练 验证自己的数据集
使用resnet神经网络,在预训练模型的基础上,在自己的数据集上进行微调,最后在自己的数据集上验证效果。可以借鉴部分:数据加载resnet模型使用方法预训练模型加载,模型保存训练/验证/测试步骤需要修改部分:预训练模型加载路径自己数据集路径保存路径import torch.nn as nnimport mathimport pickleimport torchimport numpy as npimport torchimport torch.nn as nnimp
2021-06-02 16:07:45 5867 15
原创 LeetCode:690. 员工的重要性
题目链接:添加链接描述给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工 1 的一个下属,但是由于 并不是直系 下属,因此没有体现在员工 1 的数据结构中。现在输入一个
2021-05-01 12:03:21 155
原创 LeetCode:137. 只出现一次的数字 II
题目链接:添加链接描述给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例 1:输入:nums = [2,2,3,2]输出:3思路:思路一:对数组进行排序,相同的数相邻,每次取三个相邻的数字进行判断,是否相等,如果相等继续取后面三个数进行判断;如果不相等,则答案就是这三个相邻数字的第一个,因为经过排序之后,单个出现的数字是排在相同三个数字的后面的,所以一定是三个数字的开头。另外在最后的时候也要判断,是否最后一个
2021-04-30 10:40:39 117
原创 LeetCode:403. 青蛙过河
题目链接:添加链接描述一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上)。开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 跳至单元格 2 )。如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃距离只能选择为 k - 1、k 或 k +
2021-04-29 10:42:08 120
原创 LeetCode:633. 平方数之和
题目链接:添加链接描述给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。示例 1:输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5示例 2:输入:c = 3输出:false思路:很简单,通过sqrt函数降低时间复杂度进行枚举判断class Solution {public: bool judgeSquareSum(int c) { if(c==0) return true;
2021-04-28 09:37:51 135
原创 LeetCode:48. 旋转图像
题目链接:添加链接描述给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]思路:思路还是比较简单的,但是写的时候有一些小细节没有注意到,主要思路如下:将矩形框看作n/2个⚪构成的同心圆,旋转90°其实就是第i个
2021-04-27 22:33:40 134
原创 LeetCode:938. 二叉搜索树的范围和
题目链接:添加链接描述题目:给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。示例 1:输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32思路:遍历整个树,将满足条件的节点值相加,遍历过程无脑使用栈。初始时将根节点放入栈中,如果左子树不为空,则将左子树放入栈中,同样,如果右子树也不为空,则将右子树也放入栈中。优化:需要判断当前节点是不是空根据二叉搜索树的特点进行优化,分为以
2021-04-27 10:21:23 108
原创 LeetCode:1011. 在 D 天内送达包裹的能力
题目链接:添加链接描述题目:传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。示例 1:输入:weights = [1,2,3,4,5,6,7,8,9,10], D = 5输出:15解释:船舶最低载重 15 就能够在 5 天内送达所有包裹,如下所示:第 1 天:1, 2,
2021-04-26 10:09:49 128
原创 LeetCode:377. 组合总和 Ⅳ
题目描述:题目链接:添加链接描述给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。思路
2021-04-25 17:39:13 114
原创 LeetCode:897. 递增顺序搜索树
给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。输入:root = [5,3,6,2,4,null,8,1,null,null,null,7,9]输出:[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]思路:先对原树进行中序遍历,将遍历的结果保存下来,之后根据保存下来的结果,按照题目要求重新建树。调bug原因:对栈中元素进
2021-04-25 17:28:35 185
原创 《Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector》
一、研究背景目标检测任务是对图片中存在的待检测目标进行位置和类别标注。目前深度学习的方法 在目标检测任务上取得了显著的效果,但是基于卷积的深度学习方法需要大量带标签的训练 数据以及很长的训练时间。在现实场景中,对大量数据进行标注是非常耗费资源的,并且大 量收集某些带标签的数据几乎是不可能,比如某些医疗数据。 小样本学习在训练网络时利用少量的带标签的数据,缓解了标注数据不足的问题。目前 小样本学习主要被研究如何解决分类问题,小样本学习在目标检测领域的应用很少被探索。 小样本目标检测任务:给一个新目标的少量带
2021-04-23 14:34:11 310
原创 LeetCode:368. 最大整除子集
给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个均可。输入:nums = [1,2,3]输出:[1,2]解释:[1,3] 也会被视为正确答案。思路简单dp。首先要明确的点是:(a%b=0),(b%c=0),则(a%c
2021-04-23 12:14:42 165
原创 LeetCode:363. 矩形区域不超过 K 的最大数值和
给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。题目数据保证总会存在一个数值和不超过 k 的矩形区域。示例 1:输入:matrix = [[1,0,1],[0,-2,3]], k = 2输出:2解释:蓝色边框圈出来的矩形区域 [[0, 1], [-2, 3]] 的数值和是 2,且 2 是不超过 k 的最大数字(k = 2)。方法:使用了前缀和,首先求出((0,0),(x,y))这个区域内的数值和,之后利用此结果,求所有可能矩
2021-04-22 14:20:21 232
原创 PEP8 ——python编码风格
参考链接:添加链接描述自己选择的编码风格如下:1、缩进:每级缩进使用4个空格与分界符对齐:vars = fun(var_1,var_2, var_3,var_4)2、if 语句:在条件接续行,增加额外的缩进if (condition_1 and condition_2) do()3、多行结构中的结束花括号/中括号/圆括号是最后一行的第一个非空白字符,花括号/圆括号中的元素与名称有一个单位的缩进tmp_list = [ 1,2,3, 4,5,6, ]res = fu
2021-04-19 11:41:13 176 1
原创 CVPR 2021 MeGA-CDA: Memory Guided Attention for Category-Aware Unsupervised Domain Adaptive Object D
摘要在这项工作中,我们试图通过提出类别感知域适应的内存引导注意问题(MEGA-CDA)来将类别信息纳入到域适应过程中。该方法包括使用类别感知判别器来确保学习领域不变判别特征的类别感知特征对齐。然而,由于类别信息不可用于目标样本,我们建议生成内存引导的特定类别的注意地图,然后用于将特征适当地路由到相应的类别鉴别器。...
2021-03-29 16:59:53 938
原创 CVPR 2021 Instance Localization for Self-supervised Detection Pretraining
摘要本文的目的是提出专门用于目标检测的自监督预训练模型。 基于分类和检测的内在差异,我们提出了一种新的自监督借口任务,称为实例定位。 图像实例被粘贴在不同的位置和尺度上的背景图像。 借口任务是预测给定组合图像的实例类别以及前景包围框。Introduction1、high-level feature并不是真正重要的转移到检测和分割2、Task misalignment in transfer learning(1)需要将预先训练过的网络重新放入目标网络体系结构中进行细化。 这通常涉及到非平凡的体系
2021-03-29 16:48:00 1706
原创 CVPR 2021 FSCE: Few-Shot Object Detection via Contrastive Proposal Encoding
摘要最近的研究表明,良好的特征嵌入是获得良好的学习性能的关键。我们观察到具有不同交并比(IoU)分数的目标候选框类似于对比方法中使用的图像内增强。 我们利用这种类比,并结合监督对比学习,以实现更稳健的对象表示在FSOD。 我们提出了通过对比建议编码(FSCE)进行小样本目标检测,这是一种简单而有效的学习对比感知对象建议编码的方法,它有助于对检测到的目标进行分类。 通过对比建议编码损失(CPE损失),通过促进实例级的类内紧性和类间方差,缓解了分类错误问题。方法首先使用base 数据集训练一个标准的Fa
2021-03-29 15:49:31 2020
原创 ContextLocNet: Context-Aware Deep Network Models for Weakly Supervised Localization
我们通过引入两种类型的上下文感知指导模型,即加性模型和对比模型来解决这个问题,这两种模型利用它们周围的上下文区域来改进定位。加性模型鼓励预测的对象区域得到其周围上下文区域的支持。 对比模型鼓励预测的对象区域从其周围的上下文区域中突出。给定提取的ROI作候选区,本文提出两个基本的上下文感知模型,加性模型和对比模型,利用周围的上下文区域来改进候选区;加性模型依赖于语义一致性,它从ROI和上下文中聚合类激活;对比模型依靠语义对比来计算ROI和上下文之间类的激活方法1、Convolutional and
2021-03-29 12:19:23 578
原创 Weakly Supervised Object Localization with Latent Category Learning
任务:只给出图像目标类别级的标签,不给位置标签。摘要本文的主要思想:背景中包含很多有用的潜在信息,例如天空中的飞机,如果可以学习到这些潜在的信息,就可以减少目标-背景歧义来抑制背景。本文提出了潜在类别学习(latent category learning LCL),这是一个无监督的学习问题,只给出图像级别的类标签。首先受潜在语义发现的启发,使用典型的概率潜在语义分析(pLSA)去学习潜在的类别,它可以代表目标,目标的一部分或者是背景。其次,为了确定那一个类别包含目标对象,本文提出了一种评估每个类别歧视
2021-03-29 10:41:58 354
原创 06-Shell基本运算符
1、Shell支持的运算符:算数运算符关系运算符布尔运算符字符串运算符逻辑运算符文件测试运算符原生bash不支持简单的数学运算,需要通过其他命令来实现,例如:awk,expr。可以使用expr完成表达式的求值操作。2、Shell运算符需要注意的点表达式和运算符之间要有空格,比如2+3是不对的,需要写成 2 + 3完成的表达式需要被 ``包含,此符号为位于键盘ESC下的反引号条件表达式需要放在方括号之间,并且需要有空格,比如:[$a==$b]是错误的,必须写成[ $a == $
2021-03-23 22:41:22 124
原创 05-Shell传递参数
Shell传递参数在执行脚本时,向脚本中传递参数,脚本内获取参数的格式为:$n。n为数字,代表第几个参数,1为第一个参数,2为传递的第二个参数,0为执行的文件名(包含路径)#!/bin/bashecho "Shell 传递参数实例!";echo "执行的文件名:$0";echo "第一个参数为:$1";echo "第二个参数为:$2";echo "第三个参数为:$3";为脚本设置可执行权限,并执行脚本,输出结果如下所示:$ chmod +x test.sh$ ./test.sh
2021-03-23 21:56:40 111
原创 04-Shell数组
bash支持一维数组,不支持多维数组,不限定数组的大小。数组元素下标从0开始1、定义数组在Shell中,用括号表示数组,数组元素用空格分隔开,一般形式:数组名=(元素1 元素2 元素3)例如:#!/bin/bashv1=1v2=2v3=3array1=(${v1} ${v2} ${v3})echo ${array1[@]}#输出:1 2 3#!/bin/bashv1=1v2=2v3=3array1=(${v1} ${v2} ${v3})echo ${arr.
2021-03-22 21:32:27 103
原创 03-Shell字符串
Shell字符串可以用单引号,双引号,也可以不用引号shell_string1='单引号'echo ${shell_string1}shell_string2="双引号"echo ${shell_string2}shell_string3=不用引号echo ${shell_string3}1、单引号单引号里的字符都原样输出,单引号字符串中的变量无效单引号字符中不能出现单独的引号,但是可以成对出现,作为字符串拼接使用#!/bin/basha='Mike'string='hi,${
2021-03-22 21:18:14 94
原创 02-Shell变量
Shell变量定义与使用Shell变量定义时,变量名前面不需要加美元符号$,如:shell_name='test_name'echo ${shell_name}注意:变量名和等号之间不能有空格1、变量名名命规则变量名称可以使用字母,数字,下划线不能用数字开头中间不能有空格不能使用bash关键字基本上与c语言变量名命规则类似2、使用变量只能使用定义过的变量变量在使用时前面要加$美元符号变量名外面的花括号是可选的,但是为了提高阅读性以及正确性,建议每个变量外面都加一个花括号3、
2021-03-22 20:46:20 270
原创 01-shell教程
Shell 教程shell是用c语言编写的,即是一种命令语言,又是一种程序设计语言。Shell 脚本(Shell Script)是一种为shell编写的脚本程序,注意Shell与Shell Script是两个不同的概念。但是通常所说的Shell都是指Shell脚本,以下出现的Shell编程都是指shell脚本编程。Shell环境Shell编程只需要一个可以编写代码的文本编辑器和可以解释执行的脚本解释器就可以了。Linux常见的shell种类:Bourne Shell(/usr/bin/sh或
2021-03-22 20:12:50 105
原创 window下安装第三方库到指定python解释器下
第三方库路径:D:\software\TextRank4ZH-master目标安装python解释器 E:\code\pythonProject\pythonProject1\venv\Scripts进入pip所在的目录:E:\code\pythonProject\pythonProject1\venv\Scripts执行命令:pip install D:\software\TextRank4ZH-master安装成功!之前使用的一个安装方法,把原来的python解释器破坏之前使用的方法是进
2021-02-28 22:23:17 1063
原创 CenterNet: Keypoint Triplets for Object Detection
在目标检测方法中,基于关键点的方法会检测出大量不正确的边界框,这是由于没有对裁剪区域进行进一步的检查。本文提出了一种有效的解决方案,以最小的成本检测裁剪区域。本框架基于CornerNet,名为CenterNet,用一个三元组来表示一个目标,而不是一对点,提高了精准率和召回率。设计了两个定制的模块,级联corner pooling和center pooling,定制的模块,称为级联角池和中心池,它们分别发挥了丰富左上角和右下角收集的信息和在中心区域提供更可识别的信息的作用。1、anchor base的缺陷
2021-01-20 22:50:15 310
原创 CornerNet: Detecting Objects as Paired Keypoints
CornerNet是一种一阶段的anchor free方法,主要通过检测一对关键点(左上角+右下角)来进行目标的检测。还提出了corner pooling,这是一种新型的池化方法,可以帮助网络更好的定位边界框的角点。1、anchor的缺点(1)造成正负样本不平衡(2)引入许多超参数和设计选择,anchor的数量和大小,宽高比。2、CornerNet将目标物体检测为一对关键点(边界框的左上和右下),使用卷积网络来预测同一物体类别的所有实例的左上角的热图和右下角热图,以及每个检测到的角点的嵌入向量。嵌
2021-01-20 16:20:35 163
原创 OD-数据预处理-对fsod-test和fsod-train数据集进行统计
import jsonwith open('fsod_test.json') as fd: file=json.load(fd)# print(file)print(type(file))keys=file.keys()for k in keys: print(k) print(type(file[k]))supcat=[]id=[]name=[]slow=[]cats=file['categories']for item in cats: supc
2020-12-17 11:37:23 394
原创 元学习
元学习是要学会任务中的特征表示,从而在新任务上泛化。元学习主要解决的是学会如何学习的问题。元学习主要包括:zero-shot/One-shot/Few-shot learning。元学习的主要方法包括:基于memory,基于预测梯度,利用attention注意力机制,借鉴LSTM,面向RL的meta learning方法,利用WaveNet方法,预测Loss的方法等。基于记忆Memory的方法基本思路:如果需要通过以往的经验来学习,是不是可以通过在神经网络上添加Memory来实现。基于预测
2020-12-13 11:33:12 788 1
原创 知识蒸馏
知识蒸馏知识蒸馏可以将一个网络的知识转移到另一个网络,这两个网络可以是同构的或者异构的。可以用于将大网络的知识转移到一个小网络中并且保留接近于大网络的性能;可以将多个网络学习到的知识转移到一个网络中,使得单个网络的性能接近emsemble结果。知识蒸馏的分类优化目标驱动特征匹配...
2020-12-13 10:33:36 259
原创 CSAR——Channel-wise and Spatial Feature Modulation Network for Single Image Super-Resolution
####CSAR(Channel-wise and Spatial Attention Residual )包括通道(变成c*1*1)和空间维度(1*h*w)注意力
2020-12-12 21:28:03 808 2
原创 SENet
卷积核是卷积神经网络的核心,通常被看作是在局部感受野上,对空间尺度信息和通道尺度信息进行了信息融合。卷积神经网络通常包括一系列的卷积层,非线性层,下采样层。很多工作提出来从空间维度层面来提升性能,比如Inception结构中引入了多尺度信息,聚合多种不同感受野上的特征来获得性能增益。SENet是基于能否从通道层面(考虑特征通道之间的关系)的考虑提出的,动机是希望显式的建模特征通道之间的相互依赖关系,通过学习自动的获取到每个特征通道之间的重要程度,然后依据这个重要程度去提升有用的特征并抑制对当前任务作用不
2020-12-12 21:13:45 184
原创 CV中的注意力机制_1
注意力机制的基本思想就是让网络学会关注重要的信息而忽略无关的信息。1. 注意力机制的分类(1)软注意力:软注意力更加关注区域或者通道,可微,可以通过网络的前向传播以及后向传播学习得到。(2)强注意力:强注意力更加关注点,图像中的每一个点都可以延伸出注意力,强注意力是不可微的注意力,训练过程往往通过增强学习完成。2. 软注意力的使用软注意力一般通过相关特征学习权重分布,再利用学习得到的权重施加在特征上进一步提取相关知识。加权可以在原图上,通道(channel尺度),空间,时空上。3. 注意力相关
2020-12-10 20:50:37 350 1
原创 非root下安装多个版本cuda
参考博客:https://my.oschina.net/u/4387121/blog/4521218https://muzhan.blog.csdn.net/article/details/84852900https://muzhan.blog.csdn.net/article/details/84852900https://www.pianshen.com/article/99731665661/
2020-11-19 19:13:00 122
C#考试简答题总结 (3).docx
2019-10-23
C#考试简答题总结 (2).docx
2019-10-23
C#考试简答题总结 (1).docx
2019-10-23
C#实验报告七.docx
2019-10-23
C#实验报告五.docx
2019-10-23
C#实验报告四.docx
2019-10-23
根据年老照片还原年轻容貌的算法
2017-05-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人