自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

修行之路

一心专注 + 日积月累 = 滴水穿石

  • 博客(202)
  • 资源 (6)
  • 收藏
  • 关注

原创 tensorflow和keras版本对应关系

2021-04-19 20:00:08 120 1

原创 10bit、8bit色彩深度的区别

下面 一张图能说明区别,10bit能表现的颜色值范围更多

2021-04-09 10:00:27 154

原创 FLOPs与FLOPS的区别

FLOPS 的全称是floating point of per second,它的意思是指每秒浮点运算次数。用来衡量硬件的性能。FLOPs 的全称是floating point of operations,它的意思是指浮点运算次数,可以用来衡量算法/模型复杂度。...

2020-11-30 19:03:02 373

转载 torch.nn.Parameter理解

Pytorch官网对torch.nn.Parameter()的解释:torch.nn.Parameter是继承自torch.Tensor的子类,其主要作用是作为nn.Module中的可训练参数使用。它与torch.Tensor的区别就是nn.Parameter会自动被认为是module的可训练参数,即加入到parameter()这个迭代器中去;而module中非nn.Parameter()的普通tensor是不在parameter中的。注意到,nn.Parameter的对象的requires_grad属

2020-11-26 19:28:30 896

原创 error:from torch.jit.annotations import Optional ImportError: cannot import name ‘Optional’

解决方案:安装pytorch1.0 要对应安装torchvision0.2.0

2020-11-26 09:57:26 320

转载 pytorch中的worker如何工作的

Question一直很迷,在给Dataloader设置worker数量(num_worker)时,到底设置多少合适?这个worker到底怎么工作的?如果将num_worker设为0(也是默认值),就没有worker了吗?worker的使用场景:rom torch.utils.data import DataLoadertrain_loader = DataLoader(dataset=train_data, batch_size=train_bs, shuffle=True, num_wo

2020-11-25 21:16:50 436

原创 L1标准化与L2标准化

L1标准化:每个元素/L1范数L2标准化:每个元素/L2范数

2020-11-25 19:09:28 278

转载 深度学习两种图像数据预处理具体方法

vgg 预处理输入图片 height, widthRESIZE_SIDE_MIN = 256RESIZE_SIDE_MAX = 512R_MEAN = 123.68G_MEAN = 116.78B_MEAN = 103.94训练预处理scale = width < height ? small_size / width : small_size / height 其中 small_size 为 RESIZE_SIDE_MIN 到 RESIZE_SIDE_MAX 的随机数 ne

2020-11-20 21:30:57 963

原创 Anaconda常用命令小结

在服务器上面使用Anaconda,经常会涉及一些命令,在各种任务之间徘徊,有时会忘记一些命令行,经常也会百度查一下,不如做一个小结,给自己蹭一下流量。1.检验是否安装以及当前conda的版本:conda -V2.创建python虚拟环境:conda create -n your_env_name python=X.X(比如conda create -n seg python=3.6,名字为seg,python版本为3.6)3.激活:Linux: source activate ...

2020-10-23 20:27:33 285 4

原创 Tensorboard:PermissionError: [Errno 13] Permission denied: ‘/tmp/.tensorboard-info/pid-46614.info‘

在使用Tensorboard过程中,突然遇到报错现象:PermissionError: [Errno 13] Permission denied: '/tmp/.tensorboard-info/pid-46614.info' 解决办法: 直接在linux命令行输入两行命令串:export TMPDIR=/tmp/$USER;mkdir -p $TMPDIR; 然后就可以正常 tensorboard --logdir=文件夹名称...

2020-10-15 19:01:16 513

原创 制作有趣的二维码

今天无意中发现一个有趣应用,哈哈from MyQR import myqrimport osversion, level, qr_name = myqr.run( words="https://blog.csdn.net/u013289254", version=1, level="H", picture="1.gif", colorized=True, contrast=1.0, brightness=1.0, save_...

2020-09-19 20:30:56 126

原创 导向滤波(Guided Filter)简要介绍

1.介绍 提到导向滤波,首先想到的是“何恺明”,他的确是真大神,在图像领域,是中国人的骄傲,深度学习流行的时候,也是提出各种新算法,比如ResNets,而最近两年,深度学习的发展已经非常缓慢了,更多都是各种组合搭配。回归主题,今天的猪脚是导向滤波,我准备从三篇文章来对它进行简要介绍,导向滤波的应用范围很广泛,比如图像去雾、图像抠图和美颜等。2.导向滤波 至于导向滤波的原理推导,我就不介绍了,直接把算法流程图抛出来,清晰明了,见下图:以边缘保留为例: 当输入图片...

2020-09-12 15:42:24 773 1

原创 vivo老照片修复解密

在我的印象中vivo手机最开始是主打女性市场,因为拍照好看。前不久vivo发布了一款新式手机vivo X50系列,其手机配备了超清修复功能,可以将老照片修复,同时可以在vivo相册中实现文档去影和照片去路人功能。所谓的超清修复功能,就是利用超强的算法,实现老照片修复。今天的猪脚是老照片修复,对于这个功能,有很多照片处理app都有这个功能,一些小程序也有,但都是需要收费,并不是无限制给你使用。 老照片修复,我个人觉得会涉及以下几个功能(个人使用的话,根据照片的质量程度来选择是否包含所有功能)...

2020-08-08 21:17:23 635

原创 小米AI魔法万花筒解密

小米10还有一个炫酷的功能:AI魔法万花筒,同样,由于我自己没有小米10,只能通过别人拍摄的视频来揣测这个功能是怎么实现,可能会与他们的方案有很大的出入,但至少可以得出一个类似的功能,哈哈。拍摄的图片: 形成的视频:http://t.cn/A6wkzDfA?m=4497644355228177&u=1829822693视频截图一张: 从视频中,我们可以看到,是多张相同的图片进行拼接到一起,然后产生动态效果,如果你把视频看完了,会发现整个视频的动态效果,是取...

2020-08-02 15:13:45 435

原创 小米AI魔法分身解密(二)

这一篇博客小米AI魔法分身解密(一)中,我们分析了基于拍照版本的小米AI魔法分身,本篇将分析基于拍视频版本的小米AI魔法分身,所分析的方案只能出类似的效果,真的要达到小米那个效果,还需很长的路要走。 方案1:视频本来就是多张图片形成的效果,我们可以参考上一篇博客,将其中一个视频中的每一个目标物体抠出来,融合到第二个视频中。对于方案1,将视频中的每张图片分离出,然后抠出每张图的目标物体,接着和第二个视频的每张图片进行融合,理论上是可行的,但这种做法肯定是很耗时,而且会导致视频的不连续性,那么...

2020-07-30 20:00:46 387

原创 小米AI魔法分身解密(一)

最近小米10青春版爆出了一些拍照上新玩法,其中有一个是“AI魔法分身”,如果喜欢看火影忍者的童学们,这个功能和鸣人的影子分身术很像。那么我们怎样实现这个功能呢?我自己用的是小米6x,也没有亲身去体验小米10青春版“AI魔法分身”,只是在网上看到别人视频和怎样拍出来的,所以可能自己想的方法和小米用的方法出入很大。基于别人的拍摄视频,我初步分析了一些实现过程,并给出了一些相应的参考资料,因为我自己平时也忙,也没有时间去实现它,但这种方案肯定是可以出一个初步效果。至于想达到小米的那个效果,还有很多工作...

2020-07-29 20:02:37 682

原创 分割与抠图的区别

今天我们的猪脚是辨别分割与抠图,这两个功能,我觉得是差不多,都是把目标物体提取出来,但它们的区别主要在哪里? 1.什么是分割? 分割就是做分类,但分类出的像素点,如果不去融合处理,再进行融合就不自然了。 2.什么是抠图? 在抠图中有一个上帝公式,“C = αF + (1-α)B”。我们需要是把α(不透明度)、F(前景色)和B(背景色)三个变量给解出来,具体怎么解,不是本文章的重点。F(前景色)可以借助分割得到+其他的一些操作,当然也可以通过其它...

2020-07-24 21:53:44 548

原创 快速中值滤波(直方图)

1.介绍 中值滤波的优点是可以很好的过滤掉椒盐噪声,缺点是易造成图像的不连续性,当提到中值滤波的实现方法,我们很快能想到的办法就是先排序,再取中间值,其时间复杂度取决于排序算法,如果图片特别大,每到一个地方,就排序一次,那就特别慢了。当我们做中值滤波的时候,每个点与点之间是有重复部分,比如在下图中,深黄与浅黄构成A点,当我们移动一个像素的时候,就是B点,而B点是由浅黄和深蓝构成,中间的公有部分就是浅黄,如果有一种算法可以借用A点已经计算过的浅黄,那么速度就会提高很多,这个时候,基于直方图中值滤波就..

2020-07-14 20:03:28 530 1

原创 语义分割之FCN、SegNet和PSPNet小结

1.介绍 由于最近要用到语义分割模块,所以又把相应资料拿来读了一下,顺便也做一个笔记,发一篇博客,哈哈。今天的猪脚是FCN、SegNet和PSPNet,由于比较基础,就三个拿来一起介绍。其中,FCN是用深度学习做语义分割的开山之祖。2.模型结构 1)FCN 它的结构与VGG(当然这个基础网络你用其它的也行)相似,只是把后面的全链接改成全卷积,为了得到更精细的结果,作者提出将第4层的输出和第3层的输出也依次反卷积,分别做16倍和8倍上采样,最后把不同层级的池化层上采...

2020-06-17 19:53:43 1148

原创 GhostNet 神经网络简介与代码实战

1.介绍 GhostNet是华为诺亚方舟实验室在CVPR202提出 ,其论文名字是:GhostNet: More Features from Cheap Operations,简单来说,它的意思就是通过更简单的运算提取特征,至于怎么提就需要看论文了。2.模型结构 训练好的网络里的feature map存在大量的冗余信息 ,有很多特征长得很相似,可以见下图,对于长得很相似的特征,我们是不是可以通过 一个简单的线性变化或者滤波得到,就没必要通过复杂的卷积运算了,其实,本文的做法就是这...

2020-05-17 14:31:29 842 1

原创 MixConv 神经网络简介与代码实战

1.介绍 MixConv是谷歌大牛Quoc V. Le的在AutoML领域的又一力作 ,论文的名字:Mixed Depthwise Convolutional Kernels,通过名字,我们就可以知道该论文的核心所在,混合分离卷积,其实,看到这里之后,我觉论文就可以粗看一下就行,谷歌很多论文,方法简单粗暴好用,思想巧妙,容易懂。2.模型结构 作者提出一种混合深度分离卷积(MDConv),它将不同尺寸卷积核混叠到同一个卷积OP单元中,故而它可以轻易的捕获不同分辨率的特征模式,在下...

2020-05-17 14:19:27 515

原创 python中numpy或opencv溢出小坑

前几天同事在测试别人代码的时候,发现所测得指标很高,但拿到我写的代码上测试,指标低了不少,究竟是怎么回事呢?原来是别人代码中出现溢出现象。 接下来我们直接分析代码img1 = cv2.imread("kodim01.png")img2 = cv2.imread("kodim01.png")img3 = (img1 + img2) // 2cv2.imshow("i...

2020-04-30 20:29:23 282

原创 TensorFlow训练内(显)存不断增长

在使用tensorflow过程中,一个不标准的操作,就可能导致程序出各种bug,今天我们的猪脚就是“TensorFlow训练内(显)存不断增长”,此问题并不是我遇到的,是公司一位同事遇到的,我把代码翻了一下,看出了问题所在,由于一些保密原因,我就不在这里展示那个代码,但可以用其他代码来替代。import tensorflow as tfx = tf.constant(10)ses...

2020-04-09 20:44:38 379

原创 Caffe、Tensorflow和Pytorch通道维度顺序小结

目前世面上深度学习框架比较多,常用的有三大类:Caffe、Tensorflow和Pytorch,这三种深度学习框架都主要在英伟达显卡上面进行训练和测试,很奇怪的是,它们之间的通道维度顺序并没有保持一致,在多个框架中替换着使用,很容易让人混淆了,所以做一个小结。Caffe 的通道顺序是NCHW;Tensorflow的通道顺序默认是NHWC(但可以设置成NCHW),NHWC 的访存局部性更好(...

2020-04-02 20:29:32 2547

原创 python中np.max与np.maximum的区别

在使用numpy的时候,我们会遇到取最大的问题,常用的函数有两个:np.max与np.maximum,那么它们的主要区别在哪里呢? np.max(a, axis=None, out=None, keepdims=False) 传入为一个a,并取a 在 axis方向上的最大值 np.maximum(x, y, out=None) 传入为两个x和y,并...

2020-04-02 20:13:26 2089

原创 os.environ["TF_CPP_MIN_LOG_LEVEL"]小结

今天看tf代码,突然发现代码中有一个陌生的面孔:os.environ["TF_CPP_MIN_LOG_LEVEL"]=2,我就寻思百度了一下,看一下它是何方神圣?原来是配合log输出信息来用。 os.environ["TF_CPP_MIN_LOG_LEVEL"]的取值有四个:0,1,2,3,分别和log的四个等级挂钩:INFO,WARNING,ERROR,FATAL(重要性由左到...

2020-03-30 19:54:03 1564

原创 常用损失函数用法小结之Pytorch框架

在用深度学习做图像处理的时候,常用到的损失函数无非有四五种,为了方便Pytorch使用者,所以简要做以下总结 1)L1损失函数,预测值与标签值进行相差,然后取绝对值,根据实际应用场所,可以设置是否求和,求平均,公式可见下,Pytorch调用函数:nn.L1Loss 2)L2损失函数,预测值与标签值进行相差,然后取平方,根据实际应用场所,可以设置是否求和,求平均,公式可...

2020-03-02 20:08:21 564

原创 SSE小试牛刀(一)

1.介绍 SSE绝对是优化神器之一,是由英特尔所提出的cpu指令集,具有Intel SSE指令集支持的处理器有8个128位的寄存器,每一个寄存器可以存放4个(32位)单精度的浮点数,SSE的英文全称:Stream SIMD Extentions,而SIMD的英文全称:Single Instruction Multiple Data。它的强悍地方在于,一道指令可以完成多个(一般是4个)数据...

2020-02-28 20:44:13 1176

原创 在家也能办公之上网和远程控制服务器

武汉现在病情很严重,不少企业为了保障工人的安全,施行起了在家办公的工作机制,对于要在家办公的小伙伴们,主要会遇到两个问题,一个是上网问题,另外一个则是怎么远程控制服务器的问题。一.上网 如果家里没牵有线网络,我们可以手机打开热点,如下图一样,每个手机的操作流程大概都是一样的 1.点连接与共享: 2.点便携式WLAN热点: 如果我们的流...

2020-01-31 14:29:19 1174

转载 Python性能优化之二十五条建议

优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。 减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩...

2020-01-16 20:41:22 264

转载 优化C/C++代码的小技巧

无意看到一篇小短文,猜测作者应该是一个图形学领域的程序员或专家,介绍了在光线(射线)追踪程序中是如何优化C/C++代码的。倒也有一些参考意义,当然有的地方我并不赞同或者说我也不完全理解,原文在此,我的粗糙翻译如下:1. 牢记Ahmdal定律                  funccost表示是函数func的运行时间百分比,funcspeedup是你优化后函数的运行系数; 所...

2020-01-11 21:32:06 168

原创 pytorch 自定义高斯核进行卷积操作

1.介绍 高斯滤波的用处很多,也有很多现成的包可以被调用,比如opencv里面的cv2.GaussianBlur,一般情况,我们是没必要去造轮子,除非遇到特殊情况,比如我们在使用pytorch的过程中,需要自定义高斯核进行卷积操作,假设,我们要用的高斯核的参数是以下数目:0.00655965 0.01330373 0.00655965 0.00078633 0...

2020-01-08 20:11:40 4831 2

原创 pytorch __init__、forward和__call__小结

1.介绍 当我们使用pytorch来构建网络框架的时候,也会遇到和tensorflow(tensorflow __init__、build 和call小结)类似的情况,即经常会遇到__init__、forward和call这三个互相搭配着使用,那么它们的主要区别又在哪里呢?1)__init__主要用来做参数初始化用,比如我们要初始化卷积的一些参数,就可以放到这里面,这点和tf...

2020-01-03 20:34:23 3279

原创 tensorflow __init__、build 和call小结

1.介绍 在使用tf构建网络框架的时候,经常会遇到__init__、build 和call这三个互相搭配着使用,那么它们的区别主要在哪里呢? 1)__init__主要用来做参数初始化用,比如我们要初始化卷积的一些参数,就可以放到这里面 2)call可以把类型的对象当做函数来使用,这个对象可以是在__init__里面也可以是在build里面 3)build一般...

2020-01-02 20:32:22 4566 1

原创 Opencv之联合双边滤波

1.介绍 双边滤波是一种可以保边去噪的滤波器,主要是因为它的核比较特殊,公式(1)为它的调用公式,公式(2)为它的核公式,其中,大括号左边公式为空间域小核,和高斯滤波器是一样的,而大括号右边公式为值域小核(f表示取其灰度值),而对于联合双边滤波与双边滤波的区别主要在于值域小核所用到的图片,如果所用到的图片是引入的另外一幅图像,那么就是在使用联合双边滤波。 ...

2019-12-23 20:49:03 1017

原创 Pytorch训练加速技巧小结

1.有时我们会发现,使用Pytorch的模型,训着训着,越来慢了或者outofmemory,这时我们该怎么解决呢? 主要是因为,模型可能在不断的产生临时变量,这个时候,我们可以设置程序每隔多少次进行一次清除操作:torch.cuda.empty_cache()2.在数据读取速度不变的情况下,怎样进一步提高模型的训练速度呢? PyTorch 会默认使用 cuDNN 加速...

2019-12-19 20:20:32 2468 1

原创 Pytorch中的train和eval用法注意点

1.介绍 一般情况,model.train()是在训练的时候用到,model.eval()是在测试的时候用到2.用法如果模型中没有类似于BN这样的归一化或者Dropout,model.train()和model.eval()可以不要(建议写一下,比较安全),并且model.train()和model.eval()得到的效果是一样 如果模型中有类似于BN这样的归一化或者Dr...

2019-12-19 20:18:55 6120 2

原创 Ubuntu系统下安装(升级)NVIDIA显卡驱动

1.介绍 前不久tensorflow出来2.0版本,当我们去尝试tf2.0的时候,可能会遇到一个问题,就是需要安装cuda10的版本,我们才能正确安装tf2.0,而此时的显卡驱动版本太低,比如下图中是384.54的版本,只支持cuda9,因此,我们不得不升级驱动。本人在网上看了好几个教程,稀里糊涂的总结出了一套简单方案,此方案目前只在远程服务器上尝试过。2.步骤 2...

2019-12-11 21:08:06 1918 1

原创 nvidia-smi 无进程占用GPU,但GPU显存却被占用了

问题:有时我们在使用GPU的时候,因为某个原因,导致GPU被占,但有无法通过nvidia-smi 看到进程编号,就会产生一个现象,GPU被未知程序所占用,我们只能使用GPU的一部分,针对这种现象怎么解决呢? 方法1. 重启电脑,如果win系统的话,直接关机重启即可;如果是linux系统,有图形界面的话,直接关机重启即可;如果是远程服务器的话,通过命令行:reboot重启(...

2019-12-11 20:54:16 4434 3

原创 图像处理之颜色空间小结

1.介绍 在图像处理中,我们会遇到各式各样的颜色空间,比如RGB、HLS、HSV、HSB、YCrCb、CIE XYZ、CIE Lab ,那么它们的区别和应用场所又在哪里呢? 1)RGB是生活中最常见的颜色空间,其中,R代表红色通道,G代表绿色通道,B代表蓝色通道,它们之间的相互搭配组合256*256*256,几乎可以包括人类视力所能感知的所有颜色。应用场所:一般的彩色图片都是用...

2019-12-08 16:59:59 210

kcf目标跟踪代码c++(直接在vs2010+opencv3上面运行就可以)

kcf目标跟踪代码c++(直接在vs2010+opencv3上面运行就可以),不是调用opencv里面现成的函数,放心下载的。

2017-07-08

IntelSSE指令集整理.pdf

Intel SSE指令集资料整理,总共有93页,是中文资料,很适合查阅

2019-08-01

keras_Gan_v1.rar

基于keras框架的22种Gan代码,有可跑例子,至于讲解,可以参考我的博客:https://blog.csdn.net/u013289254/category_9292290.html

2019-11-26

reportlab-userguide.pdf

reportlab介绍 reportlab是Python的一个标准库,可以画图、画表格、编辑文字,最后可以输出PDF格式

2019-09-09

神经网络与深度学习(吴恩达)第二周编程练习(包括lr_utils.py test_catvnoncat.h5 train_catvnoncat.h5)

配套好的程序,可以直接运行出结果的,不缺少什么的。

2017-10-29

neon programmer's guide.rar

arm官方neon编程指南,可用于实现快速的矩阵运算、图像变换、卷积网络运算,性能优化必备

2019-09-09

空空如也

空空如也

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

TA关注的人 TA的粉丝

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