- 博客(184)
- 资源 (5)
- 收藏
- 关注
原创 CNN 卷积工作过程详解
其实已经实现过非常多的卷积神经网络了,起初的时候卷积的工作原理也搞的很清楚,但是随着工程/科研的日常,这些非常理论的卷积工作细节我却淡忘了,所幸之前学习过程中留有笔记(吴恩达老师视频),在此整理,希望温故而知新。1.从形态学到卷积算子这是一个提取垂直边缘/水平边缘的算子。带给我们最初的理解,卷积核的梯度(形态)会在图像中相似的纹理产生高的响应,这也是为什么卷积可以提取出来垂直边缘/水平边...
2020-02-23 14:26:09 4308 1
原创 [CNN] 各式各样的卷积核
1.Dilated Convolution/ Atrous Convolution扩张卷积也有人说是空洞卷积,原文叫做Atrous Convolution。思想非常简单,随着网络的层数越来越多,parameters越来越多,并且maxpooling本身的限制(比如四次maxpooling,那么理论上16x16的图就到了1x1,空间信息全部丢失),google就提出了使用atrous convol...
2019-08-19 14:52:51 1860
原创 Res-Net: Resblock与其变体的讨论
众所周知,现在很多网络都是cell组成的,最常用的就是resblock,我想好好研究研究
2019-08-16 22:18:25 27460 2
原创 git 管理代码
管理代码步骤图片来源:慕课网Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库代码流程cd existing_folder# git 初始化git init# 链接远程的gitlab地址git remote add origin http://gitlabxxxxxxxx.gitgit add -allgit commit# 由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但
2022-06-16 23:04:00 372
原创 3D视觉基础整理 (一)
相机内参外参相机内参数是与相机自身特性相关的参数,比如相机的焦距、像素大小等;相机外参数是在世界坐标系中的参数,比如相机的位置、旋转方向等相机标定相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说, 你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。基础概念● 我们必须移动相机之后,才能估计它的 运动(Motion)● 同时估计场景中物体的远近和大小,不妨称之为结构(Structure)● 近处的物体移动快,
2022-05-28 22:48:40 1174
原创 matplotlib 二元变量分析
from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom scipy.special import softmaxfig = plt.figure()ax = Axes3D(fig)X = np.arange(0.1, 1, 0.05)Y = np.arange(0.1, 1, 0.05)X, Y = np.meshgrid(X, Y)# Z = X.
2022-04-16 21:24:28 1745
原创 Pytorch 随机种子的设置
之前设置过随机种子,但是网络依旧具有随机性。今天刚好看到了mmdetection的实现,才发现之前的code不是所有的随机种子都被固定下来。def set_random_seed(seed, deterministic=False): """Set random seed. Args: seed (int): Seed to be used. deterministic (bool): Whether to set the deterministic .
2022-03-06 16:15:30 1657
转载 Pytorch 训练停止,输出显示 died with <Signals,SIGKILL.9> 问题定位过程记录
最近使用 Pytorch 进行模型训练时,模型在训练到一小部分后程序均被停止。第一次以为是由于机器上其他人的误操作,故而直接重新拉起训练。但第二次程序终止时,发现基本与第一次训练停止的训练 iteration 一致,故而尝试对问题进行定位。问题描述具体而言,在使用 Pytorch 训练时的错误信息类似如下所示: File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec)
2022-02-22 10:27:40 3793
原创 python process 多进程
查看计算机最大进程数(不支持win)ulimit -uprocess 多进程for 循环用多进程优化,我的电脑测试快了7-8倍,并行数目很大时候会报错,因为计算机无法支持那么多进程。这里我用了一下 i%32==0,先暂时同步一下进程。注意,这部分程序必须写到 __name__ == "__main__" 里面。target后面跟的是函数名称args就是函数的参数列表from multiprocessing import Processif __name__ == "__main__":
2022-01-14 17:18:41 539
原创 python 生成目录结构 & 绝对路径导入问题
生成目录结构树状目录结构生成WorkingDirection/├────point2mask/│ └────main-v1.py├────statistics_point/│ ├────__init__.py│ ├────do_statistics.py更改下面代码路径就行了import refrom pathlib import Pathfrom pathlib import WindowsPathfrom typing import Optional, Li
2022-01-13 20:27:40 383
原创 全景分割2017-2020整理
定义语义分割的任务是预测每个像素点的语义类别(即预测stuff,东西),而实例分割的任务是预测每个实例物体包含的像素区域(即预测thing,事物),分别如上图b和c所示。然而从图片中可以看出,语义分割和实例分割都不足以完备的描述出一副图像中的视觉信息,2019年FAIR首次提出全景分割的概念,全景分割任务需要同时预测出每个像素点赋予类别Label和实例ID(即同时预测thing和stuff,如图d所示)全景分割任务的重点在于为每个像素分配一个语义标签和实例 ID 对于一幅输入图像, 首先提取特征. 然
2022-01-04 15:38:36 1189
原创 deformable DETR 核心思路记录
原文链接:https://arxiv.org/abs/2010.04159encoder_layer = MSDeformAttnTransformerEncoderLayerMSDeformAttnTransformerEncoderLayer( (self_attn): MSDeformAttn( (sampling_offsets): Linear(in_features=256, out_features=192, bias=True) (attention_weight.
2021-12-23 16:58:44 2792
原创 swin transformer 核心代码记录
目前更新部分包括swin的基本setting,基本模块,相对位置坐标理解和部分代码展示。swin 包含了四种setting,依次是tiny,small, base 和 large。可以类比resnet。Swin-b 主体部分网络结构 BasicLayer结构展示BasicLayer( (blocks): ModuleList( (0): SwinTransformerBlock( (norm1): LayerNorm((128,), eps=1e-05, el.
2021-12-20 15:28:31 1693
原创 Kernel based instance segmentation
dynamic kernel 在high level 用了很多,这里记录一下目录CondInst ECCV 2020之前方法的问题之前方法归类本文最大亮点Instance-aware mask head整体网络结构SOLO V2 NIPS 2020之前方法的问题本文最大亮点网络结构图CondInst ECCV 2020conditional convolutions for instance segmentation之前方法的问题bounding box 是方方正正的,对于irreg.
2021-12-10 19:14:23 653
原创 更改linux默认缓存:PermissionError: [Errno 13] Permission denied: ‘/.cache‘
export XDG_CACHE_HOME=/path$XDG_CACHE_HOME
2021-10-18 21:16:33 840
原创 defaultdict: 强大的dict 子类
整理于 官方网站初始化from collections import defaultdictkey 和 valuekey 是不可变类型value 可以是可变类型,比如 list, set, 当然也可以是不可变类型 int, str举个栗子s = [('yellow', 1), ('blue', 4), ('yellow', 3), ('blue', 2), ('red', 1)]dic = defaultdict(list)for k, v in s: dic[k].ap.
2021-08-15 16:12:15 131
原创 csdn 打印pdf
f12 的 控制台输入(function(){ 'use strict'; var articleBox = $("div.article_content"); articleBox.removeAttr("style"); $("#btn-readmore").parent().remove(); $("#side").remove(); $("#comment_title, #comment_list, #comment_bar, #comment_fo
2021-07-13 15:13:49 227 1
原创 vs code 调试
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [
2021-06-25 20:04:29 420
原创 给定一个文件夹,把所有文件名保存到txt中
记录,防止忘记import osimport numpy as npdef path_dir(path, dtype="no"): if not dtype: raise RuntimeError("No data type for the image.") fname = os.listdir(path) fname = [x for x in fname] # fname = [x for x in fname if x.endswith(dt.
2021-05-02 10:23:09 176
原创 Python list[:] 的那些小细节
C++ 函数调用变量时候会显式声明究竟是不是引用。而python默认就是引用关系。也就是说函数中更改同名变量(前提是函数中没有define)那么外部的变量就可能会改变。一个小实验展示如下:# 原始地址In [153]: id(nums)Out[153]: 1817895976264# 取切片,已经不是原来的地址了In [154]: id(nums[:])Out[154]: 1817895952584# 再取一个,另开辟一个新的地址In [155]: id(nums[1:])Out.
2021-04-24 22:42:37 223
原创 sliding windows infer 模型
输入一张大图和一个model,使用两个stride刚好密铺滑窗。def do_overlap(data, model, stride=[96, 164], hp=224, wp=224): # h, w = 2336, 3504 _, _, h, w = data.shape output = torch.zeros(h, w) frequency = torch.zeros(h, w) for i in range(0, h-hp+stride[0.
2021-04-21 10:07:05 588 1
原创 图像sliding windows裁剪patch
记录,防止自己又重新写一遍。。。# -*- coding: utf-8 -*-# @Time : 2021/4/20 14:47# @Author : Mingxing Li# @FileName: crop_image.py# @Software: PyCharmimport numpy as npimport osfrom PIL import Image, ImageOpscs = [224, 224]stride = 112data_dir = r"H:\My.
2021-04-21 09:52:45 362 2
原创 Video classification,action recognition 知识整理
接到了一个多模态的课题,针对audio 和 video 的输入,之前也没有什么经验。本文旨在记录已知图像提取特征的方法之后,如何提取video的特征。目录图像提取特征的方案Video 与 Image 的差异I3D 与2018 年 2月 之前的深度学习方法LSTM3D Conv-NetTwo-Stream Networks3D-Fused Two-StreamTwo-Stream 3D-ConvNetTemporal Shift Module (TSM, ICCV 2019)SlowFast (ICC.
2021-04-01 09:19:22 1164
原创 python 刷题实用技巧
binbin函数可以返回一个数字的二进制字符串,如下,其中0b表示二进制。In [4]: bin(3^6)Out[4]: '0b101'count返回具有指定值的元素个数。In [4]: bin(3^6)Out[4]: '0b101'In [5]: bin(3^6).count("1")Out[5]: 2
2021-01-31 10:30:44 548
原创 优化器:从SGD到 Adam
总结学习视频 https://www.bilibili.com/video/av94067702/所有的优化器都是可以套进这个基本框架的。SGD这里的E指的是单位矩阵。SGD 没有动量概念,因为一阶动量就是当前梯度,二阶梯度就是单位矩阵。缺点:容易陷入局部最优。由于SGD只考虑当前时刻的梯度,在局部最优点的当前梯度为0。由计算公式可知,此时参数不再进行更新,故陷入局部最优的状态。显而易见,引入历史梯度值,引入动量(momentum)的概念可以帮助我们跳出鞍点。EMA,指数滑动平均咱.
2021-01-26 22:26:58 1411
原创 checkpoint_00001.pth.tar 变为 checkpoint_000001.pth.tar
我有五位数的数字和六位数数字的文件我想把五位数数字文件变为六位数。而六位数不变学了一下正则表达式。。。很拙略,但是解决了问题rename -n 's/t_/t_0/' *_[0-9][0-9][0-9][0-9][0-9].pth.tarrename后接一个正则表达式,是perl语法规则的,‘s/’ 是正则匹配的开始的意思,然后第一个/和第二个/之间的部分是被匹配内容,第二个/和第三个/之间是要替换成的内容。-n 先显示效果,不执行命令reference:https://www.cnbl
2021-01-09 20:50:56 699
原创 pyorch gather 函数
官网解释Gathers values along an axis specified by dim.For a 3-D tensor the output is specified by:out[i][j][k]=input[index[i][j][k]][j][k]out[i][j][k] = input[index[i][j][k]][j][k]out[i][j][k]=input[index[i][j][k]][j][k] # if dim == 0out[i][j][k]=input[i]
2021-01-03 14:05:34 93
原创 NIPS 2020 What Makes for Good Views for Contrastive Learning?
The ability to build up view-invariant representations is central to a rich body of research on multiview learning.Given v1, v2 两个随机变量,本文阐述contrastive learning 就是 学习一个参数函数,鉴别 sample是 来自于联合分布 p(v1)p(v2|v1) 还是说两个边缘分布的乘积 p(v1)p(v2). 一个区别是说前者的v2是基于v1产生的,可以理解
2020-12-28 14:38:33 1052 2
原创 python 细胞实例分割上随机彩色
输入是 一个三维矩阵 bc_w_result(D,H,W),pixel value代表不同实例先定义一个随机彩色的函数def random_rgb(): r = np.random.rand()*255 g = np.random.rand()*255 b = np.random.rand()*255 return np.array([r, g, b]).astype(np.uint8)然后主函数中输入bc_w_resultidx_list = np.unique(
2020-12-24 13:36:28 769
原创 通过terminal/cmd 向python传递参数
简单的用法如下:import argparseparser = argparse.ArgumentParser(description='description...')parser.add_argument('--output_path', type=str, default='', help='output file path')args = parser.parse_args()print(args.output_path)这里的"- -"指的是可有可无, 通常会加一个default
2020-12-23 17:39:37 644
NVIDIA VIDEO CODEC SDK 8.2.16 最新
2019-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人