自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pytorch 多卡机器中使用单卡训练

假设当前设备有两块gpu,gpu0, gpu1仅想使用1号gpu时1.在程序前添加os.environ['CUDA_VISIBLE_DEVICES'] = '1' 2. torch.load时要记得指定device torch.load(array, map_location=device)3. to('cuda:0')这里的0号gpu指的就是物理机的1号gpu暂时只看到这些地方需要改...

2021-01-28 15:13:07 1516

原创 scp无法传输文件到docker容器中

由于需要远程scp到docker容器中,将docker容器的端口映射出来后,使用scp传输文件到docker容器中。一直报一个乱码\033[1;31m一开始以为是编码问题,找了很久,发现有人在使用tensorflow镜像时出现过这个问题:https://github.com/tensorflow/tensorflow/issues/30495原来是因为ssh进入docker容器中时,会自动打印一些信息:ssh时没出问题,但是scp时,由于会报错,无法传输。解决方法是:将/

2021-01-25 20:58:13 2128

原创 部分GANs简介(二)

CGANPix2PixBicycleGANcVAE-GAN参考:https://zhuanlan.zhihu.com/p/62139750AE传统的(AE)将图片编码为隐变量(latent variable),可以看做是一个降维,解码器可以通过隐变量还原输入图片。但是存在的问题是,我们无法通过构造隐变量来生成图片,因为隐变量是通过encoder编码生成的。VAE变分自动编码器(VAE)通过添加限制,将隐变量粗略遵循一个标准正态分布,这样我们就可以通过标准正态分布去采样,再通过解码器生成新图片

2020-08-25 18:47:11 466

原创 部分GANs简介(一)

最近在训练GANs的时候遇到挺多问题,想系统的看一下GANs发展进程中遇到的问题和解决方案,顺便总结一下。

2020-07-27 09:29:51 247

原创 深度学习Normalization技术简介

Batch NormalizationBN主要解决了Internal Covariate Shift问题,该问题的意思是在深度神经网络中,每层的参数都在不断的更新,导致了隐含层的输入分布一直不断的变化,不符合监督学习的IID条件。同时,分布的不断变化,会导致收敛的难度增大,收敛速度变慢。BN的思想,是把mini-batch输入的分布尽量保持一致,降低收敛难度,提升收敛速度。同时,当同一个样本处在不同mini-batch中时,会经过不同的转换,变相进行了数据增强。在测试时,使用的是训练集得到的统...

2020-07-08 11:38:41 520

原创 【Python】gif制作

https://pythonprogramming.altervista.org/png-to-gif/python通过多张图片制作gif图使用PIL库即可,frames记录每一帧图片,duration为延迟,越大表示间隔时间越长from PIL import Imageimport globframes = []imgs = glob.glob("*.png")for i...

2020-01-13 16:49:17 279 1

原创 【Tensorflow】Tensorflow gradient clipping梯度裁剪

Tensorflow中使用tf.clip_by_value(x, min, max)限制一个tensor在一定值域https://stackoverflow.com/questions/36498127/how-to-apply-gradient-clipping-in-tensorflow训练过程中,若遇到梯度爆炸问题,可以对gradient进行clip来防止梯度爆炸问题1. tf....

2019-12-26 14:29:58 748 1

原创 【Tensorflow】Tensorflow训练过程中使用边缘提取

在使用GANs生成图片时,由于边缘模糊,所以想单独提取边缘信息作为额外输入。由于是在训练过程中使用,所以不适合用opencv提取。Tensorflow中自带了Sobel算子边缘提取函数tf.image.sobel_edges下面展示一下使用效果image = tf.image.sobel_edges(targets)image = image**2image = tf....

2019-12-24 18:16:33 2784 1

原创 【Tensorflow】tensorflow张量操作

在深度学习中,我们通常是对张量进行操作,矩阵可以看成是二阶张量,而一张RGB图片,可以看成是三阶张量(长、宽、颜色)。Tensorflow中的数据都以张量(tensor)的形式流动,本篇博客中记录一下最近用到的一些在tensorflow中的张量操作,会持续更新。1. 创建值为0的张量shape_1 = 1shape_2 = shape_3 = 600shape_4 = 3...

2019-11-26 17:15:36 391

原创 【opencv】cv2出现 libpng warning: iCCP: known incorrect sRGB profile警告

读取图片时出现libpng warning: iCCP: known incorrect sRGB profile警告有时候不影响使用,所以可以直接忽略,但是今天在处理数据时,使用了shutil 的copy,copy了报错的图片,复制出来的图片无法在界面中打开,也无法使用cv2去读取了。这种情况下,在网上找了一下,都是说重新读取后再写即可,但是当前图片已经无法读取了,于是只能读取原始图片,...

2019-10-31 17:44:42 2549

原创 【opencv】HSV颜色值对照表

2019-10-29 10:02:23 44966 2

原创 【Tensorflow】Tensorflow checkpoint导入导出pb文件

为了把能够把tensorflow的模型放到tensorflow serving上,需要把checkpoint转换为pb文件导出pb模型这里踩了不少坑,首先需要获取输入和输出的tensor,在训练/测试文件之外重新写脚本来导出的话,需要重新定义输入输出对应的tensor,这样会比较麻烦,建议直接在test后面进行转换。代码如下:prediction_signature_dict ...

2019-10-24 21:24:54 1358 1

原创 Numpy array输出中包含省略号

在输出numpy数组时,由于元素过多,会自动省略中间的元素输出有时候我们想要查看所有元素的值,一个个去输出会比较麻烦,所以不希望输出被省略这时可以使用numpy自带的set_printoptions来输出不经省略的数组np.set_printoptions(threshold=1e6)将参数threshold设置为一个很大的数即可精度参数precision...

2019-10-08 19:15:10 3803 4

原创 卷积操作数组实现

自己尝试实现了一次数组模拟卷积过程代码如下//// main.cpp// CNN//// Created by HuangZhennan on 2019/1/12.// Copyright © 2019 HuangZhennan. All rights reserved.//#include <iostream>using namespace std...

2019-09-18 19:02:14 448 1

原创 python xml常见操作

目标检测任务中,输入为一张图片以及目标框的坐标,在标注工具标注完成后,通常坐标会保存在xml文件中。当我们根据自己的业务需求,需要修改标注数据时,由于重新标注的成本较高,所以直接修改xml文件较为合适。当前我使用的标注工具是LableImg的Ubuntu版本:github:https://github.com/chinakook/labelImg2 https:...

2019-05-12 16:35:16 617

原创 pandas numpy常用操作

numpy删除行:data = np.delete(data, [1,2,3], axis=0)删除123行数据删除列:data = np.delete(data, -1, axis=1)删除最后一列数据选取最大n个值的索引a = np.argsort(data)选取一个最大索引a = np.argmax(data)pandas连接行:d...

2019-04-16 14:48:02 354 1

原创 Unbuntu 16.04 Tensorflow重新安装

1. 卸载原CUDA版本https://blog.csdn.net/u012074597/article/details/80317275?utm_source=blogxgwz2这里以CUDA10卸载为例子sudo apt-get autoremove --purge cudasudo dpkg -l |grep cudasudo dpkg -P cuda-repo-ubunt...

2019-04-12 09:45:27 618

原创 轻量级检测网络Pelee和DenseNet

提到轻量级神经网络,大家都会提到MobileNet V1 V2 和 ShuffleNet V1 V2,似乎较少看到大家提到PeleeNet,网上搜到的结果也不多,这篇博客会简单介绍一下PeleeNet以及以它为backbone的检测网络Pelee,还有它的前身DenseNet。1. DenseNet这里推荐一篇博文,讲解DenseNet很详细:https://blog.csdn.net...

2019-02-13 22:18:27 3548

原创 数据增强简单方法

神经网络训练当中,训练数据数据是训练好一个优秀分类(检测)器最重要的部分之一,本文将简要描述一下一些常用的数据增强方法。1. mix up通过线性插值,构建以训练集中两个随机样本和对应标签的差值产生的虚拟样本,是领域风险最小化的一种方式。2. 旋转cv2.flip(img,0)垂直翻转cv2.flip(img,1)水平翻转cv2.flip(img,-1)垂直水平翻转...

2019-02-06 16:37:59 775

原创 ReLU和BN层简析

卷积神经网络中,若不采用非线性激活,会导致神经网络只能拟合线性可分的数据,因此通常会在卷积操作后,添加非线性激活单元,其中包括logistic-sigmoid、tanh-sigmoid、ReLU等。sigmoid激活函数应用于深度神经网络中,存在一定的局限性,当数据落在左右饱和区间时,会导致导数接近0,在卷积神经网络反向传播中,每层都需要乘上激活函数的导数,由于导数太小,这样经过几次传播后,靠...

2019-01-23 23:47:50 20431

原创 常用深度学习优化算法简介

梯度下降法是基于泰勒展开式的,为了保证每一步优化都在领域内,设置了很小的学习率,但固定的学习率产生的问题是很难收敛到最优点,于是出现了一些改进的方法。1. 动量项梯度下降法Momentum积累了以前的梯度信息,但是如果如果简单的累积,会导致动量越来越大,于是需要有一个衰减的过程。                                                      ...

2019-01-17 23:50:15 336

原创 卷积神经网络压缩参数加速(二)---低秩估计

上篇讲述了卷积神经网络网络压缩的理论基础,包含filter层面、channel层面、group层面和稀疏矩阵。本篇博客将总结一下低秩估计的方法,低秩估计主要分为矩阵分解和张量分解。一、矩阵分解 如上图中两个矩阵相乘,每个向量相乘所需要的计算次数为b个乘法,b-1个加法,共a*c*(2b-1),通常情况下加法的速度比乘法的速度快很多,并且后面求比例时可以约掉,为了方便计算,计算为...

2019-01-06 22:59:21 4140 1

原创 卷积神经网络压缩参数加速(一)---网络剪枝

卷积神经网络的加速主要包括两类,硬件加速和软件加速,本篇将总结一下软件加速中网络剪枝所使用的方法。软件加速可以分为压缩结构和压缩参数两种,压缩结构就是将模型结构简化,设计结构更小、参数更小的网络后,从头开始训练,之前博文中提到的MobileNet及ShuffleNet系列网络就是模型压缩的一种。压缩参数是在已训练完模型的基础上,对参数进行筛选、转换已达到更少参数和更小结构的结果,包括网络剪...

2019-01-06 15:56:02 7406 5

原创 剑指offer解题思路

1. 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:从左下开始,目标大于当前数字只可能在右边,小于当前数字,只可能在上边。 2. 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are H...

2018-12-16 00:17:39 330

原创 卷积神经网络通道剪枝裁剪

论文来自旷视科技2017年的论文Channel Pruning for Accelerating Very Deep Neural Network论文地址:https://arxiv.org/abs/1707.06168代码地址:https://github.com/yihui-he/channel-pruning(还没跑过) 卷积通道剪枝论文的主要思想是,通过最小化裁剪后特征...

2018-11-30 22:11:31 16514 3

原创 目标分割

FCN传统CNN做分割(Lecun学生做的)时,使用该像素周围的一个图像块作为CNN的输入。缺点:一、 储蓄开销很大。二、 计算效率低,相邻像素重复计算。三、 像素块大小限制了感知区域大小。FCN使用卷积层代替最后的全连接层,使用1x1的卷积核。经过多次卷积后,图像越来越小,分辨率越来越低,使用上采样从分辨率低的粗略图像恢复到原图的分辨率。分别通过对第五层卷积池化后...

2018-11-23 23:49:21 1225

原创 shuffleNet v1 v2笔记

ShuffleNet v1ShuffleNet v1是由旷视科技在2017年底提出的轻量级可用于移动设备的卷积神经网络。该网络创新之处在于,使用pointwise group convolution还有channel shuffle,保证网络准确率的同时,大幅度降低了所需的计算资源。在近期的网络中,pointwise convolution的出现使得所需计算量极大的增多,于是作者提出了...

2018-11-14 22:53:38 11656 2

原创 MobileNet学习笔记

MobileNet v1论文中提到,MobileNet的创新点在于使用深度可分离卷积代替传统卷积用于提取特征,达到减少计算资源损耗和减小模型大小的目的。传统卷积中,G为下一层特征图,F为输入的特征图,K为kernel,M为输入通道数,N为输出通道数。                                                              所需要的计...

2018-11-05 23:58:54 531

原创 目标检测基础

一. NMS(非极大值抑制)在目标检测网络中,会生成许多重复地目标框,使用NMS去除冗余的目标框,保留置信度高的目标框。(1)在Bounding Box列表中,首先选择置信度最高的目标框A。(2)将与A的IoU超过阈值的目标框从Bounding Box中去除,并将A标记并移入保留框列表中。(3)重复(1)和(2),知道Bounding Box列表清空为止。对每个分类,都需要使用...

2018-10-28 21:49:29 5668 2

原创 OpenCV简单标准数字识别

在学习openCV时,看到一个问答做数字识别,里面配有代码,应用到了openCV里面的ml包,很有学习价值。https://stackoverflow.com/questions/9413216/simple-digit-recognition-ocr-in-opencv-python#import sysimport numpy as npimport cv2 im = cv2...

2018-10-21 15:32:22 28363 16

原创 opencv使用笔记

1. cv2.imread中路径包含中文时,出现找不到文件。   使用cv2.imdecode(numpy.fromfile(file,dtype='int8'), cv2.IMREAD_COLOR)即可读取图片   numpy.fromfile()是按指定格式读取文件   cv2.imdecode()是从缓冲区读取文件2. (B, G, R) = cv2.split(img)可将...

2018-10-17 23:03:30 268

原创 SegNet网络简析及caffe工程应用

最近在工作的业务中需要应用到图像分割,在这里总结一下在应用中遇到的一些问题。一、SegNet简介自2015年FCN的提出后,使用卷积层替代全连接层成为了解决像素级分类种where和what的一种有效办法。在最初的的FCN网络中,作者将最后用于分类的卷积层结果通过双线性差值扩大分辨率后,与前面pooling层之后的feature map进行结合,在提高分类准确率的同时,增加了更多的位置信息。...

2018-09-19 23:33:50 3847

原创 跑faster rcnn时出现tf.py_func float can not interpreted integer

使用tensorflow版本的faster rcnn  https://github.com/smallcorgi/Faster-RCNN_TFrois_per_image = int(cfg.TRAIN.BATCH_SIZE / num_images)将结果转换为int类型

2018-03-16 16:42:49 399

原创 matplotlib 出现 _tkinter.TclError: no display name and no $DISPLAY environment variable

修改 ~/.config/matplotlib/matplotlibrc backend : Agg即不报错,但Agg不输出图片修改为TKAgg即可

2018-03-15 14:43:00 805

转载 Faster rcnn 配置时出现bTest Key Error

KeyError: b'TEST'Just add cfg_key = cfg_key.decode("utf-8") on line 70 in proposal_layer_tf.py. It worked for me that way.在cfg_key使用前添加cfg_key = cfg_key.decode("utf-8"),问题是由于python2和python3编码问题来源:http...

2018-03-15 10:32:42 830

转载 faster rcnn 配置问题

原文:http://blog.csdn.net/zhongxinleishi/article/details/78972944(1)编译时报错:/usr/local/lib/python2.7/dist-packages/tensorflow/include/tensorflow/core/platform/default/mutex.h:25:22: fatal error: nsync_cv....

2018-03-14 17:24:59 1119 2

原创 AttributeError: '_NamespacePath' object has no attribute 'sort'

把orig_path.sort(key=position_in_sys_path)所在的那一行,改成 orig_path = sorted(orig_path, key=position_in_sys_path)

2018-03-13 17:34:06 1248

原创 [LeedCode]242. Valid Anagram

Given two strings s and t, write a function to determine if t is an anagram of s.For example,s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.Note:You may ass

2016-06-06 23:48:12 192

原创 [LeedCode]242. Valid Anagram

Given two strings s and t, write a function to determine if t is an anagram of s.For example,s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.Note:You may ass

2016-06-06 23:38:03 195

原创 Docker容器fedora镜像内dnf无法安装

为了满足需求,docker容器需要能够使用ifconfig命令,环境为fedora,通过docker pull一个fedora镜像后,容器中无法使用ifconfigdnf update出现Failed to synchronize cache for repo 'fedora' from 'https://mirrors.fedoraproject.org/metalink?repo=fedo

2016-03-20 18:40:48 602

空空如也

空空如也

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

TA关注的人

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