自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CenterPoint-KITTI环境配置

1选用docker镜像zhiminc/centerpoint_new2配置spconv1)下载spconv 1.0GitHub - traveller59/spconv at 8da6f967fb9a054d8870c3515b1b44eca21036342)在spconv的third_part里手动git clone pybind并chekckout到某个版本【版本号:085a29436a8c472caaaf7157aa644b571079bcaa】3)需按照centerpoint

2021-12-05 16:54:54 1316 2

原创 CUDA异步执行与同步调试

异步执行默认情况下,GPU 操作是异步的。当您调用使用 GPU 的函数时,操作会被排入特定设备的队列,但不一定要等到稍后才会执行。这允许我们并行执行更多计算,包括在 CPU 或其他 GPU 上的操作。一般来说,异步计算的影响对调用者是不可见的,因为(1)每个设备按照它们排队的顺序执行操作,以及(2)PyTorch 在 CPU 和 GPU 之间或两个 GPU 之间复制数据时会自动执行必要的同步。因此,计算将继续进行,就好像每个操作都是同步执行的一样。您可以通过设置环境变量 CUDA_LAUNCH_

2021-11-27 11:15:24 1853

原创 python文件导入与.路径

1.路径结构test/dir0/file0.pytest/dir0/file1.pytest/file.py2.文件内容file.pyfrom dir0 import file0file0.pyimport osimport syssys.path.append("/home/test/dir0")print(os.getcwd())#打印当前路径,即打印.路径import dir0.file1#import .file1#仅可在file0(该文件下)目录下执行file1.

2021-11-13 10:14:26 1558

原创 python数组与numpy.array的拼接和对应元素相加

1.严格意义上python没有数组,只有列表。a=[1,2,3]a=list()#列表a=(1,2,3)a=tuple()#元组2.列表拼接与对应元素相加对于python自带的列表数据结构拼接a=[1,2]b=[2,3]c=a+b#[1,2,2,3]c=a.extend(b)对应元素相加只能通过循环,或转为numpy对于numpy.array()拼接import numpy as npa=np.array([1,2])b=np.array([2,3])c=np.ap

2020-12-12 10:26:08 16750

原创 python的拷贝操作

[:]和.copy()都属于“浅拷贝”,只拷贝最外层元素,内层嵌套元素则通过引用方式共享,而非独立分配内存,如果需要彻底拷贝则需采用“深拷贝”方式,如下例所示:>>>a = [1,2,['A','B']]>>>print('a={}'.format(a))>>>b = a[:]>>>b[0] = 9 #修改b的最外层元素,将1变成9>>>b[2][0] = 'D' #修改b的内嵌层元素>>&gt

2020-10-31 08:53:03 242

原创 Python中的 @staticmethod@classmethod方法

没有很完全的理解,还需要多次结合具体实际来学习文章目录1 简介2 实例方法3类方法3.1 简介3.2使用场景3 静态方法3.1简介3.2 使用场景1 简介Python面向对象编程中,类中定义的方法有:1、@classmethod 装饰的类方法2、@staticmethod 装饰的静态方法3、不带装饰器的实例方法(最为常用)简单示例class A(object): def m1(self, n): print("self:", self) @classmeth

2020-08-13 21:55:42 244

原创 CV之仿射变换

仿射变换可以表示平移,旋转以及缩放,通常使用 2×32\times 32×3 矩阵来表示仿射变换,在opencv中,其本质是两幅图片之间的转换关系,而这种关系,只需要获得仿射前后对应的三点即可以用逆矩阵求出:A=[a00a01a10a11]2×2B=[b00b10]2×1A = \begin{bmatrix} a_{00} & a_{01} \\ a_{10} & a_{11} \end{bmatrix}_{2 \times 2}B = \begin{bmatrix} b_{00}

2020-08-13 19:34:30 240

原创 高斯滤波的窗口及标准差(笔记)

高斯函数与高斯滤波一维高斯函数:G(x)=12πσexp(−(x−μ)22σ2) G(x)=\frac{1}{\sqrt{2 \pi} \sigma} exp(- \frac{{(x-\mu)}^2}{2\sigma^2})G(x)=2π​σ1​exp(−2σ2(x−μ)2​)二维高斯函数为两个一维高斯函数的积:G(x,y)=12πσexp(−(x−μx)22σx2−(y−μy)22σy2) G(x,y)=\frac{1}{\sqrt{2 \pi} \sigma} exp(- \frac{{(x-\

2020-08-12 16:57:03 9482

原创 YOLO简述

文章目录1 YOLOV1-V32 改进(缝合怪们)1 YOLOV1-V3YOLOv1(2015年6月8日)YOLOv2(2016年12月25日)YOLOv3 (2018年4月8日)2 改进(缝合怪们)YOLOv4 (2020年4月24)YOLOv5 (2020年6月25日,暂无论文)PP-YOLO(2020年7月23日)reference:YOLO 系目标检测算法家族全景图...

2020-08-04 11:24:47 291

原创 BN操作详解

文章目录1 作用2 流程BN是由Google于2015年提出,论文是《Batch Normalization_ Accelerating Deep Network Training by Reducing Internal Covariate Shift》。1 作用1将输入值或卷积网络的张量进行类似标准化的操作,将其放缩到合适的范围,加快训练速度。2另一方面使得每一层可以尽量面对同一特征分布的输入值,减少变化带来的不确定性。BN可以防止学习过程中梯度消失,这一点论文中有阐述,作者说可以如果使用si

2020-07-29 16:43:08 4345

原创 CVPR2020个人总结(阅读笔记)

原文有空细读,很好的文章1. Unsupervised Learning比较有代表性的任务主要分两个方向,1)low-level task学光流,深度,correspondence等信息。[1, 2]2)representation learning学习representation,以期学到的representation可以帮助down-stream tasks。[3, 4, 5, 6, 7, 8, 9].这两年间比较火的方式是用instance discrimination(实例区分)的方

2020-07-18 10:08:31 1268

原创 一文看尽物体检测中的各种FPN(阅读笔记)

文章目录引言FPN的演进1)无融合2)自上而下单向融合3)简单双向融合4)复杂的双向融合ASFFNAS-FPN和BiFPNRecursive-FPN(当前最佳)M2det中的SFAM引言早期的目标检测算法(无论是单阶段还是双阶段)通常都是在Backbone的最后一层的特征图直接外接检测头做物体检测。其输出的特征图分辨率是输入图片分辨率的1/32,太小,不利于物体检测,因此一般会将最后一个stage(backbone中featuremap分辨率相同的若干层)的MaxPooling去掉或者将stride为2

2020-07-06 12:11:58 2827

原创 DenseNet及其变体PeleeNet、VoVNet(阅读笔记)

原文1 DenseNet1.1特点1)神经网络一般需要使用池化等操作缩小特征图尺寸来提取语义特征,而Dense Block需要保持每一个Block内的特征图尺寸一致来直接进行Concatnate操作,因此DenseNet被分成了多个Block。Block的数量一般为4。2)两个相邻的Dense Block之间的部分被称为Transition(过渡)层,具体包括BN、ReLU、1×1卷积、2×2平均池化操作。1×1卷积的作用是降维,起到压缩模型的作用,而平均池化则是降低特征图的尺寸,使feature

2020-06-17 00:08:13 1007

原创 视觉注意力机制在分类网络中的应用——SENet、CBAM、SKNet(阅读笔记)

原文将软注意力机制分为三大注意力预:(1) 空间域——对空间进行掩码的生成,进行打分,代表是Spatial Attention Module。忽略了通道域中的信息,将每个通道中的图片特征同等处理,这种做法会将空间域变换方法局限在原始图片特征提取阶段,应用在神经网络层其他层的可解释性不强。(2) 通道域——对通道生成掩码mask,进行打分,代表是senet, Channel Attention Module。对一个通道内的信息直接全局平均池化,而忽略每一个通道内的局部信息。(3) 混合域——同时对通道

2020-06-15 23:56:56 4470 4

原创 一文读懂深度学习中的各种卷积(阅读笔记)

1、卷积与互相关在深度学习中,卷积中的过滤器不经过反转。严格来说,这是互相关。我们本质上是执行逐元素乘法和加法。但在深度学习中,直接将其称之为卷积更加方便。因为过滤器的权重是在训练阶段学习到的。如果上面例子中的反转函数 g 是正确的函数,那么经过训练后,学习得到的过滤器看起来就会像是反转后的函数 g。2、3D卷积对比的,2D卷积为全通道的,不会在通道轴上滑动。3、转置卷积(去卷积)(反卷积)对应的算术解释:#普通卷积:现在,如果我们在等式的两边都乘上矩阵的转置 CT,并借助“一个矩阵与其转置矩

2020-06-03 22:06:49 431

原创 查看python依赖包及其对应版本号信息

所有的pip list#或者pip freeze单独的包pythonimport xxxxxx.__version__

2020-04-13 11:04:38 2082

原创 vim设置行号

1 临时显示行号:set number或者:set nu取消行号显示:set nu!2 永久cd /etc/vim/vi vimrc最后一行添加set number

2020-04-12 21:12:13 448

原创 downgrading to numpy 1.17

object of type <class ‘numpy.float64’> cannot be safely interpreted as an integerdowngrading to numpy 1.17python -m pip install numpy==1.17.1

2020-04-12 14:18:03 231

原创 ubuntu 安装使用tmux

安装:apt install tmux新建会话:tmux new -s aMeaningfulName查看所有会话:tmux ls断开:exit挂起:tmux detach重连:tmux attach -t sessionName

2020-03-19 09:18:10 210

原创 pytorch的tensor与numpy转换

a = torch.ones(2,2)b = a.numpy()a = numpy.ones(5)b = torch.from_numpy(a)

2020-03-16 23:20:34 902 2

原创 VOC数据集标注转为coco

#!/usr/bin/python# pip install lxmlimport sysimport osimport jsonimport xml.etree.ElementTree as ETSTART_BOUNDING_BOX_ID = 1#预定义类别#PRE_DEFINE_CATEGORIES = {"face":1}PRE_DEFINE_CATEGORIES =...

2020-03-12 09:18:28 462

原创 制作VOC数据集——生成ImageSets/Main下的txt文件

import osimport randomtrainval_percent = 0.7 # 可以自己设置train_percent = 0.8 # 可以自己设置xmlfilepath = f"/Users/Administrator/Desktop/ship_detection_online/Annotations_new" # 地址填自己的txtsavepath = f"/...

2020-03-12 08:19:33 1953

原创 pytorch的DataLoader

class DealDataset(Dataset): """ 下载数据、初始化数据,都可以在这里完成 """ def __init__(self): xy = np.loadtxt('../dataSet/diabetes.csv.gz', delimiter=',', dtype=np.float32) # 使用numpy读取数据 ...

2020-03-06 18:31:49 185

原创 动量更新

# Momentum updatev = mu * v - learning_rate * dx # integrate velocityx += v # integrate positionmu一般选0.9利用动量更新方法,参数向量就可以沿着和梯度方向积累速度。...

2019-12-21 11:14:47 376

原创 目标检测基本概念

精度(accuracy)=(TP+FN)/ALL有多少选对了错误率=(TN+FP)/ALL有多少选错了查准率(Precision)=TP/(TP+FP)选出来的有多少对的。查全率(Recall)=TP/(TP+FN)有多少对的被选出来。AP(Average Precision):对每个R对应的P都加起来,求均值。(单个类的的PR曲线面积。)mAP:所有类的AP求均值。...

2019-12-19 19:47:27 1122

原创 win的代码拷贝到liux中文注释乱码且无法运行

将win的主函数文件格式转为unix(用Notepad++)在主函数文件首加入说明:#encoding=gbk这样整个工程便能够运行,但是子文件函数等中文还会乱码。(待解决)补充:win的编码为utf-8,linux下的编码为gbk...

2019-12-18 16:28:07 164

原创 transfer learning

迁移学习:主要有3类, 第一类,使用别人训练好的权重参数,作为初始化权重参数,进行接下来的训练 第二类:使用别人训练好的权重参数,冻结预测层之前的所有的权重参数,进行接下来的训练 第三类:使用别人训练好的权重参数,即finetune,不冻结最后一个卷积层和全连接层,对这两个层进行参数的更新和训练....

2019-12-17 23:34:34 168

原创 SSD

文章目录网络结构vgg16-ssdmobilenetv1,v2-ssd(待补充)shufflenetv1,v2-ssd(待补充)Sqnet,resnet等-ssd(待补充)技术要点训练过程网络结构vgg16-ssd理论上会生成(38384 + 19196 + 10106 + 556 + 334 + 114)= 8732 个 default boxes。mobilenetv1,v2-ssd(...

2019-12-17 22:09:54 166

原创 mobilenetv1,v2网络结构(无原理解析)

文章目录mobilenetv1mobilenetv2mobilenetv1将普通卷积改为可分离卷积(点卷积+深度卷积)。具体推导留待补充mobilenetv2将可分离卷积应用于残差结构,形成倒卷残差块,堆叠形成线性瓶颈块。推导留待补充。应用于SSD时:SSD( (base_net): Sequential( #基础卷积,input:300*300*3,output:15...

2019-12-17 21:47:15 1411

原创 python多维列表及其维度获取

import numpy as npy = [ [[5,7],[6,6]], [[6,6],[7,8]], [7,2], [2,5] ]# 这样稍微清晰,一点,Y有4个元素,前面两个是两两二维组成,后面两个是单独的二维print(len(y),len(y[0]),len(y[0][0]))#输出为4,2,2print(np.array(y).sha...

2019-12-17 15:06:56 8176

原创 BGD,SGD,MBGD

文章目录批量梯度下降BGD随机梯度下降SGD小批量梯度下降MBGD一般线性回归函数的假设函数为:批量梯度下降BGD对所有的参数求均方误差损失函数:随机梯度下降SGD#更新单个参数,对单个参数求均方误差小批量梯度下降MBGD顾名思义。...

2019-12-16 21:13:08 356

原创 VGG16小记

VGG16是VGG网络中的一个。conv+relu算一层(均为33卷积核),pooling算一层(核大小为22)。即有参数的层共有16层。用在SSD时的结构。 (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): ReLU(inplace) (2): Conv2d(64,...

2019-12-16 20:45:12 276

原创 leetcode5——最长回文子串(中等,0)

文章目录题目解答感想题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindr...

2019-12-14 21:45:41 108

原创 leetcode3——无重复字符的最长子串(中等,0,滑窗法)

文章目录题目解答结果感想正规军思路解答结果题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3...

2019-12-13 17:28:25 121

原创 leetcode38——报数(简单)

文章目录题目解答结果感想题目报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) ...

2019-12-12 12:37:42 88

原创 leetcode28——实现strStr()(简单)

文章目录题目解答结果感想题目实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa...

2019-12-10 12:34:21 95

原创 leetcode27——移除元素(简单)

文章目录题目解答结果感想题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并...

2019-12-09 17:07:38 103

原创 leetcode26.——删除排序数组中的重复项(简单,0)

文章目录题目解答1基于python 内置函数结果2从后往前遍历双指针(经典)感想题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修...

2019-12-08 22:56:05 104

原创 leetcode21——合并两个有序列表(简单,0)

见了链表就发愁的zyw…文章目录题目解答code思路备注:代码流程:(按行数)注结果感想题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetco...

2019-12-08 00:00:08 352

转载 Hopfiled求解TSP(一)——Hopfiled简介

转载自:文章目录Hopfiled特点神经动力学CHNN的网络结构一般性CHNN模型的状态方程推导一般性CHNN模型的能量方程定义Hopfiled特点(1)每个神经元既是输入也是输出,构成单层全连接递归网络(2)网络的突触权值不同于其他的神经网络是通过有监督或无监督反复学习来获得,而是在搭建网络时就按照一定的规则计算出来,且网络的权值在整个网络迭代过程中不再改变(3)网络的状态是随时间的变...

2019-12-06 11:24:39 1056

空空如也

空空如也

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

TA关注的人

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