- 博客(101)
- 资源 (1)
- 收藏
- 关注
原创 深度学习 机器视觉 经典卷积神经网络 Tensorflow2.0 keras.applications
背景经典网络结构就是我们使用深度学习进行烹饪的食材,活学活用好我们的经典神经网络,为我们的实际应用提供事半功倍的效果经典的深度卷积神经网络作为机器视觉中图像特征提取的重要工具,被广泛应用于图像分类、语义分割和目标检测等实际场景中。2012到2017年的I全球最大的ImageNet大赛中涌现了一大批性能突出的网络,基于此数据集训练的卷积神经网络被认为具有突出的图像特征提取的功能。由于一般的个...
2020-04-22 19:47:15 4815
原创 Python 连续分布离散化,计算熵
总的流程:划分一个连续分布为离散分布,计算每个区间内的统计频数,并计算分布的熵两种方法实现:pandas.cutpd.cut方法对分布按照bins的区间划分,对每个区间的频数进行统计,除以总数得到概率,最后计算熵bins=np.linspace(0, 1, 51)group = pd.cut(accum_pd[sub_name], bins=bins)group_count = accum_pd[sub_name].groupby(group).count()sub_count = np.ar
2022-01-18 21:33:12 1859
原创 【一网打尽】独立重复事件——常见概率分布
定义伯努利(Bernouli)试验试验只有两个可能结构,概率分别为ppp和1-ppp (常见例子:摇色子)n重伯努利试验/伯努利过程独立重复n次伯努利试验,这一串重复的独立试验泊松(Poisson)过程连续版的伯努利过程,时间连续且任意单位时间段内时间发生率λ\lambdaλ一定,且时间发生相互独立(常见例子:零件或路灯出故障)概率分布的意义0-1分布/伯努利分布伯努利试验成功概率二项(Binomial)分布n重伯努利试验中成功k次的概率负二项(NegativeBinomial)分布
2021-08-21 10:52:15 2269
原创 相关系数不需要归一化/标准化
求相关系数时,比如皮尔逊相关系数,可以看出我们同时对x和y乘以一个系数时,对相关系数r值没有影响r=∑(x−mx)(y−my)∑(x−mx)2∑(y−my)2r=\frac{\sum\left(x-m_{x}\right)\left(y-m_{y}\right)}{\sqrt{\sum\left(x-m_{x}\right)^{2} \sum\left(y-m_{y}\right)^{2}}}r=∑(x−mx)2∑(y−my)2∑(x−mx)(y−my)...
2021-08-20 15:58:38 8478
原创 panda 修改行名字 报错 Index does not support mutable operations
在进行panda数据操作,扩充时出现两个tricks:使用data_pd.append(),进行行扩充数据时,行名需要相同,才能实现自动扩充使用data_pd.columns= [], 修改行名时,不允许切片操作,只能按照原数据长建立一个列表赋值修改# 遍历不同个体数据,进行数据拼接response_pd = pd.DataFrame() #建立一个空pandafor ii in range(100, 106): sub = 'Sub%d'%ii index = np.wher
2021-08-18 23:23:33 5787
原创 python 线性相关 与 线性拟合
文章目录线性相关皮尔逊相关系数(stats.pearsonr)斯皮尔曼相关系数(stats.spearmanr)线性拟合/回归最小二乘法(optimize.least_squares)R方(R squared)代码实现线性相关线性相关分析是描述两变量间直线相关,常用相关系数来描述。根据数据的分布特性不同可以分为:皮尔逊相关系数(Pearson correlation coefficient )和斯皮尔曼相关系数(Spearman‘s rank correlation coefficient )皮尔
2021-06-26 22:41:52 3960 2
原创 Python 数值计算库scipy 统计模块stats用法入门
文章目录statis模块概述连续概率分布正态分布(norm)概率检验/假设检验(Statistical tests)K-S检验(Kolmogorov-Smirnov test )scipy.stats.ksteststatis模块概述模块包括了大量的概率分布,可以根据分为数量分为单变量与单变量。单变量又可根据变量类型分为:连续概率分布和离散概率分布。具体包括了如下几大类统计方法:模块名Continuous distributions连续概率分布Multivariate d
2021-06-16 17:03:46 10966
原创 基于python 自写Tobii VI-T滤波器
官网介绍https://www.tobiipro.com/learn-and-support/learn/steps-in-an-eye-tracking-study/data/how-are-fixations-defined-when-analyzing-eye-tracking-data/GITHUB c代码https://github.com/uxifiit/GazeToolkit
2021-04-12 09:45:40 1446 7
原创 python numpy 找出第二大/小的数/索引
对于numpy我们很容易通过np.max或者np.argmax找到最大的数,但是如何定位第n大的数呢?百度一下,python找第二大的数方法,居然是将找到最大值复制为最小值后,再找出最大值。显然这个方法也太不智能了。正解如下:import numpy as nparr=np.random.rand(10)# 第2大数值max2 = np.sort(arr)[-2]# 第2大索引max_index2 = np.argsort(arr)[-2]...
2021-04-11 10:39:45 19407 5
原创 反正切函数的求解 math.atan2
相比 math.atan以180°为周期,math.atan2适用范围更广,得到结果范围为[-pi, pi]使用方法很简单,传入一个矢量即可,但注意有点怪的是第一个形参是y,第二个是xmath.atan2(y, x)参考https://www.tutorialgateway.org/python-atan2/...
2021-03-05 15:49:43 1279
原创 最小二乘法拟合圆心和半径 python实现
代码实现scipy.optimize.leastsq最小二乘法拟合圆心和半径 ,转化为所有点到圆心(xc, yc)距离与半径Rc的差最小问题,表达式如下,再通过scipy中的最小二乘算法进行求解即可。因为圆半径等于所有点到圆心的平均距离,所以一旦圆心得到了,就可以直接求得半径Ri = sqrt( (x - xc)**2 + (y - yc)**2)residu = sum( (Ri - Rc)**2)展示一个例子from numpy import *# Coordinates of th
2021-03-04 15:32:27 4599 1
原创 最小覆盖圆(smallest enclosing circle)算法 python 实现
百度一圈没有找到合适的博客,通过外网找到了python实现,所以整理记录一下。最小圆问题The smallest-circle problem (also known as minimum covering circle problem, bounding circle problem, smallest enclosing circle problem)有多种算法求解实现,具体参见维基百科。最容易理解,使用最多的是一些计算几何算法,大家可以参考这篇博文最小圆覆盖(经典算法【三点定圆)进行理论学习
2021-03-04 14:51:06 3204 2
原创 python matplotlib 坐标轴打断
想要绘制出如下类型坐标轴断开的图,matplotlib中并没有直接可用的API,但是官方给出了一个demo: broken axis.py大概说下思路:画出两个共享X轴,完全相同的图,下图取消上边界,下图取消下边界,然后再使用plot画两组平行线就大功告成。参照官网例子画的堆积图代码 def respond_mode_bar(self): labels = ['Braking','Right','Left','R&B','L&B'] # colo
2021-02-07 19:49:29 3282 1
原创 【seaborn】kdeplot用法 & 核密度估计(KDE)原理介绍
文章目录核密度估计(Kernel Density Estimation)定义例子带宽(*bandwidth*)参数选择参考seaborn.kdeplot核密度估计(Kernel Density Estimation)定义核密度估计是估计随机变量的概率密度函数的非参数方法,即一种针对连续数据的密度估计方法,并且其根据数据本身的相互关系得到,无需对数据分布做假设。假设样本彼此独立并遵循相同的分布。给定带宽H,每个样本都由平滑的核函数拟合。某数据的密度值可以视为其他所有样本对该数据的平均影响。f^h(x
2021-02-05 14:55:54 21023 1
转载 Python Matplotlib 颜色名 与默认color_list获取
绘制图像的时候需要选择美化的曲线,网上的图有很多,但是不少颜色的关键字并不支持。所以还是多参考官方的颜色名表参考https://matplotlib.org/3.1.0/gallery/color/named_colors.html
2021-02-05 10:39:53 5447 1
原创 【seaborn】jointplot 改变图片长宽比,非方形
最近开始写论文了,画好看图是非常有必要的。matplolib虽然能满足基础需求,但是总感觉没那么高大上。简单接触seaborn后,发现确实集成度很高,很简单的API就可以画出美观的数据图。但是市面上应该还没有系统的数据,主要参考都是官网的例子。出现一些其他问题就只能自己想办法去网上搜了。比如今天的使用jointplot时发现,默认格式图像长宽比是1:1,传统matplotlib中的figsize关键字都无法改变图像的尺寸。而 jointplot关键字中只有height,无法改变图像的高度。height
2021-01-24 16:35:35 1401 1
原创 Torch 和 Numpy 出现NAN解决方法
在训练过程中,在确保数据没有异常的情况。由于自定义loss中出现了除数为0或对数为0的情况,导致无法计算得到数字就会得到NAN,然后loss.backward()就会导致整个网络的权重数值都变成NAN。直接导致网络无法计算。所以在网络训练过程中需要对NAN进行检测和处理。NAN检测如果只是一个简单的标量,直接使用isnan进行判据torch.isnan(loss)如果只是一个相对复杂的矢量,则需要使用结合.int().sum()对nan进行计数,判据大于0torch.isnan(loss).i
2021-01-24 15:11:22 6521
转载 PPT另存图片 设置dpi 命令提示符
运行+CMD进入命令提示符,设置dpi=500reg add HKCU\Software\Microsoft\Office\16.0\PowerPoint\Options /v "ExportBitmapResolution" /t "REG_DWORD" /d 500 /f转载https://zhuanlan.zhihu.com/p/23555929
2020-12-26 23:01:39 480
转载 Python中 list, numpy.array, torch.Tensor 格式相互转化
1.1 list 转 numpyndarray = np.array(list)1.2 numpy 转 listlist = ndarray.tolist()2.1 list 转 torch.Tensortensor=torch.Tensor(list)2.2 torch.Tensor 转 list先转numpy,后转listlist = tensor.numpy().tolist()3.1 torch.Tensor 转 numpyndarray = tensor.numpy()*gp
2020-12-17 11:09:22 268
原创 Pytorch数据加载 torch.utils.data.DataLoader 中 num_workers 设置
电脑有10核20线程应该怎么设置torch.utils.data.DataLoader 中 num_workers使得我数据加载最快?首先来搞定定义:概念核心数与线程数核心数与线程数核心:一个CPU具有的物理核心数(物理概念)线程:是CPU调度和分配的基本单位(逻辑概念)。一个计算机可以并发(同时)的线程数,等于计算机上的逻辑处理器的个数(CPU个数 *每个CPU核心数 *每个内核线程数)详细参考参考:https://blog.csdn.net/weixin_38256474/article/
2020-12-12 18:32:15 3621
原创 Pytorch 随机种子设置 不可控因素
为确保模型训练过程中,需要设置模型的随机种子,具体操作如下:主程序def torch_seed(seed): torch.manual_seed(seed) torch.cuda.manual_seed(seed) torch.cuda.manual_seed_all(seed) np.random.seed(seed) # Numpy module. random.seed(seed) # Python random module. torch.
2020-12-12 17:59:58 920
原创 python 删除文件与非空文件夹
删文件和空文件夹imgs = glob.glob(file_path+'/*.png')for img in imgs: os.remove(img)os.rmdir(file_path)直接删非空文件夹shutil.rmtree(file_path)
2020-12-12 17:17:54 187
原创 KLD Loss( tf.nn.softmax, torch.nn.functional.softmax, log_softmax, kl_div) 计算技巧(一)
最近在比较不同模型的性能,发现虽然文献中使用的相同的指标,比如KLD。但是数据的处理方式却存在着差异,这会导致最后的数据并不具有直接可比性。这里记录下,其中的一些值得记住的细节。主要涉及的API包括tf.nn.softmax, torch.nn.functional.softmax, log_softmax, kl_div文章目录二维数据输入数据前处理tf.nn.softmaxtorch.nn.functional.softmaxkld 散度计算tensorflowpytorch完整代码二维数据输入
2020-11-09 15:14:03 4561
原创 python 继承类 super() 程序执行顺序
一直困惑于python继承类的程序执行顺序,看了这段代码后理解得到了加深,跟大家分享一下学习心得。单继承class FooParent(object): def __init__(self): self.parent = 'I\'m the parent.' print ('Parent') def bar(self,message): print ("%s from Parent" % message) class FooC
2020-10-31 12:20:02 1782 1
原创 【语义分割】 DRANet Scene Segmentation With Dual Relation-Aware Attention Network
2019 CVPR DANet (Dual Attention Network for Scene Segmentation)进阶版,或者轻量化计算量版本。原文中表述DANet的问题是虽然没有增加模型参数,但是每个点间和通道间的相关系数求解增加了模型的计算量和GPU内存使用attention modeling brings a heavy burdern on computation and memory if the number of pixels/channels is huge于是乎,由原
2020-10-31 11:52:00 3139 6
原创 乘法/积运算和符号(点乘/内积/数量积,叉乘/向量积,矩阵乘法,Hadamard, Kronecker积,卷积)一网打尽
之前一直混淆与各种乘法中,不得其解,所以花了点功夫整理一下。线性代数中的点乘(内积/数量积)和叉乘(向量积)https://www.zhihu.com/question/21080171矩阵乘法 方式组的概念 没有符号哈达马积(Hadamard product) 两个矩阵对应元素的乘积 * 卷积操作一般就是这个符号克罗内克积(Kronecker Product)克罗内克积也被称为直积或张量积 x外面一个圈https://baike.baidu.com/item/%E7%9F%A9%E9%98%
2020-10-24 17:13:44 33616 3
原创 ResNeSt 模型分析和代码详解 (拆组和通道注意力ResNet)
ResNeSt: Split-Attention Networks模型的拆分注意力网络,最近特别火,主要是作为深度学习的backbone模型,ResNeSt在不同的图像任务中都有效提高了模型的预测精度。因此今天分享下,最近两天学习的心得体会,参考资料如下:ResNeSt: Split-Attention Networksgithub官网B站作者讲解张航主页文章目录安装使用ResNeSt创新点split(multi-brach)Channel attention代码详解resnest.pyresn
2020-10-13 15:49:20 18376 18
原创 vs code python高效编程的trciks
函数折叠和展开折叠所有函数Ctrl + K, Ctrl + 0 # 0表示函数的层级另外 折叠到某一级的函数是 Ctrl + K, Ctrl + n。例如,我想折叠到第二级的函数,就输入Ctrl + K, Ctrl + 2即可。展开所有函数Ctrl + K, Ctrl + J折叠查看完毕后可以通过上述快捷键展开所有折叠的内容。十分方便。...
2020-10-07 20:25:44 259
原创 【语义分割】DANet Dual Attention Network for Scene Segmentation
A∈RC×H×WA\in \mathbb{R}^{C \times H \times W}A∈RC×H×W{B,C}∈RC×H×W\{\mathbf{B}, \mathbf{C}\} \in \mathbb{R}^{C \times H \times W}{B,C}∈RC×H×WRC×N\mathbb{R}^{C \times N}RC×Nsji=exp(Bi⋅Cj)∑i=1Nexp(Bi⋅Cj)s_{j i}=\frac{\exp \left(B_{i} \cdot C_{j}\right)}{
2020-10-07 20:19:35 1453 1
原创 python split() rsplit() 对比
之前一直没有弄懂split()和rsplit()的差别,直到有一天发现两者的关系后才恍然大悟str.split(str="", num=string.count(str)).str − This is any delimeter, by default it is space.num − this is number of lines minus one直接上代码,大家应该就很好理解了。In [1]: str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
2020-10-05 22:48:19 3217
原创 pytorch Error(s) in loading state_dict 使用re模块 改变字典索引
在使用model.load_state_dict进行权重文件加载时,类似keras中load_weights(by_name=True),是严格按照模型的中的各个模块的名称与权重文件中state_dict 的索引进行匹配的。如果不匹配,会报错 Error(s) in loading state_dict。注意Pytorch与keras中load_weights(by_name=False)设置不同,由于Tensorflow是静态图是可以按照网络的拓扑结构,即模型与权重文件的的层次结构进行匹配Pytor
2020-09-04 15:55:44 427
原创 torch.nn.DataParallel 注意事项:模型的字典结构改变
发现在使用torch.nn.DataParallel,原有模型的字典结构会发生一定变化使用前self._modelNer((cnn): ResNet(使用后原有属性嵌套到了`DataParallel的module属性中self._modelDataParallel( (module): Net((cnn): ResNet(因此在调用原有self._model的参数时候,就变成了self._model.module...
2020-09-03 21:24:17 849
原创 经典卷积神经网络(二) Pytorch torchvision.models
接着上一篇 Google 阵营Tensorflow /Keras为我们提供了大量pre-trained经典卷积网络模型, 这一篇继续介绍Pytorch如何使用Pytorch torchvision.models中的经典模型进行快速迁移学习。相比Tensorflow主要多了Facebook团队发布的 SqueezeNet、ShuffleNet、Wide ResNet、MNASNet模型。torchvision.modelsPytorch一共提供29个经典卷积神经模型Pytorch官网TORCHVIS
2020-09-03 19:59:10 2102
原创 Tobii眼动仪 python SDK 时间同步的技巧
time_synchronization首先官方Python - SDK reference guide中有一个time_synchronization_data.py的例子。官方注解如下:You will get a callback when the computer and the eye trackers clocks gets synchronized. To handle normal drifts between clocks the clocks are checked on regu
2020-09-01 16:46:01 1561 5
原创 t-SNE 多类数据降维的小技巧
在用t-SNE聚类算法时,发现一个小问题,值得注意。问题在对有标签的数据进行分类时,网上一些参考案例的算法如下,即每一类标签先经过t-SNE算法降维,最后再统一画到一个散点图上。ts = TSNE(n_components=2, init = 'pca', random_state = 0)features2 = np.zeros((sample_num*4, feature_len))for ii, dataset in enumerate (datasets): frame_li
2020-09-01 11:28:25 2249 8
原创 眼动仪 python SDK tobii_research 操作笔记
最近在使用Tobii眼动设备的时,需要使用SDK。按照官网指导的方法安装时,发现找不到库。pip install tobii_research解决方案:这个库在python3.7以上的版本不支持,需要重新建立一个小于3.6的环境进行安装。...
2020-08-14 19:59:47 4427 10
原创 Video Saliency Detection 文献学习(一)Unified Image and Video Saliency Modeling
由于课题有关人员的Attention/Gaze/Saliency建模,所以最近读了一些Saliency Detection 的文章。利用博客一方面作为学习笔记记录一下,一方面也与大家进行交流。第一篇文章是2020年ECCV, University of Oxford研究团队的Unified Image and Video Saliency Modeling。这篇文章最大的特点就是集成了静态图像和动态视频的Saliency Detection功能,相比传统以静态图Saliency Detection的连续输
2020-08-13 10:37:29 1294 1
原创 VS code 变量显示限制设置 debug variables ‘Too large to show contents. Max items to show: 300‘
VS code 变量显示限制的默认设置是300,如果想多显示几组数据就比较麻烦,可以通过修改控制函数来实现自定义的现象。具体参数在pydevd_resolver.py,路径如下C:\Users\jackey\.vscode\extensions\ms-python.python-2020.7.96456\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_resolver.py修改的MAX_ITEMS_TO_HA
2020-08-13 10:36:21 2933 5
原创 Video Saliency Detection 文献学习及代码解读(二) TASED-Net
2019年ICCV发表的论文Kyle Min Jason J. Corso University of Michigan摘要个人觉得写得挺中规中矩,就介绍了模型的特点,即在DHF1K, Hollywood2, and UCFSports.数据集上表现亮眼。Introduction这一段介绍研究意义不错Video saliency detection aims to model the gaze fixation patterns of humans when viewing a dynamic
2020-08-12 10:30:51 1464 1
原创 视频分类 S3D(separable 3D convolutions)模型及代码分析
S3D(separable 3D CNN)是ECCV 2018发表的关于视频分类模型,核心思想就是将原来的C3D网络替换为时域和空间域分离进行卷积的S3D网络,相比C3D网络,不仅模型参数量得到大幅减少,而且性能也得到提升。原文Rethinking Spatiotemporal Feature Learning:Speed-Accuracy Trade-offs in Video ClassificationIntroduction第一段,概述视频分类问题和现有数据集Sports-1M [5], Ki
2020-08-11 16:51:50 5958 3
Convnet_Visualization.ipynb
2020-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人