- 博客(40)
- 收藏
- 关注
原创 python PYQT5初探- 安装 编写 打包
前言近日,由于处理需要,想自己搞个可视化界面处理数据,不想老跑python 程序。所以想到了python QT安装运用的是pycharm+pyqt5。主要安装的是PYQT5 和Designer。pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple #PyQt5pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple # Qt D...
2021-03-18 16:00:59 302 2
原创 FSRNET 人脸超分
FSRNet: End-to-End Learning Face Super-Resolution with Facial Priors 20191. 简介本文提出借助人脸几何先验信息来辅助人脸超分。因为相比较context,人脸形状更能在LR-HR中保存下来。而人脸形状的先验信息由人脸分割的五官等,以及landmark点来表示。相比较直接从LR中提取先验信息,HR中的信息更准确,因此先从LR经过一个粗超分网络coarse SR network。2.网络步骤s1.LR经过coars.
2020-11-03 13:33:42 614
原创 tensorflow量化代码实现和实验
tensorflow量化代码实现和实验tensorflow量化代码1.构建float graph按照tensorflow定义网络的方式定义网络结构,例如:batch_norm_params = {'is_training': is_training, 'center': True, 'scale': True,'epsilon':2e-5} with slim.arg_scope([slim.conv2d], padding='SAME',
2020-05-09 10:15:18 619
原创 模型剪枝综述与心得
接触剪枝是最近一段时间的事情,为了全面的系统的学习一下剪枝,笔者做了个论文综述。从2016年的韩松的deep compression 到最新的彩票假设,我主要是将剪枝可以分为三个大类。分别是不需要数据参与的硬剪枝,带数据参与训练的软剪枝,以及直接搜索结构的NAS。一:硬剪枝这类的剪枝算法通常从模型本身的参数出发,寻找或者设计出合适的统计量来表明连接的重要性。通过对重要性的排序等算法,...
2019-12-03 13:59:56 3394
原创 模型蒸馏概述和实验
目录1 杂谈2 蒸馏方法概述。2.1 基于最后输出层的蒸馏2.2 基于中间结果层的蒸馏2.3 基于元学习的蒸馏3 实验结果和参考代码1 杂谈鉴于目前算法和数据的瓶颈,我最近研究了一下模型蒸馏,目的是通过大模型能够带动我需要的小模型。目前的模型蒸馏这方面的研究已经不少了,专业术语上也有了KD(Knowl-edge Distillation (KD)),know...
2019-09-11 11:05:56 7586 3
原创 《Tuning the architecture, not just the weight》论文阅读
目录文章主旨:Introduction:METHOD流程细节1 扩增的学生网络2 裁剪学生网络3 loss函数4 模型剪枝文章主旨:利用pre-trained网络的block作为基础block和少量的task-specific的layer层,组成新的适合新任务的网络。新网络的特点是,适合target data的复杂度,保证精度。对新的网络进行组合分类损...
2019-07-05 09:35:34 434
原创 CNN模型几个常见层的复杂度分析-FLOPs
FLOPs:是floating point operations的缩写,表示浮点运算数,理解为计算量。用来衡量模型的复杂度。目录1 卷积:解读:参数量:参考图:计算量:2 全连接3 Dw-pw卷积解读:参数量:示意图:以下是自己整理推理的几个常见层的FLOPs计算:1 卷积:解读:三维卷积的形式,对输入通道为Cin的输入,用Cout大小为...
2019-04-26 10:34:35 5355
原创 gdb调试的基本使用
1 gdb介绍:https://blog.csdn.net/wu2304211/article/details/509274072 gdb的基本调试:https://www.cnblogs.com/HKUI/p/8955443.htmlhttps://blog.csdn.net/TheBeatles1994/article/details/81055418...
2019-04-09 11:03:01 195
原创 《Enhancing Learning and Generalization Capacities via IBN-Net》论文阅读
目录主旨论文内容论文总结主旨论文目的在于找到一种网络结构能够在在单一领域提高性能的同时,对于领域适应甚至领域泛化都有很好的性能,替代finetuning的效果。因此,作者组合了IN和BN,保持特征区分度的同时能够满足外观不变性的特点,设计了IBN模块。论文内容1 首先,为什么用IN?因为,作者发现在风格迁移的领域中,IN的效果比BN的效果好。基于IN的encod...
2019-03-29 13:47:58 455
原创 代码质量检测
目录前言CPPcheck介绍CPPcheck安装使用:cppcheck使用:前言最近写代码的时候想到自己对代码质量的要求较低,为了严格要求自己,想要借助一些工具来让自己规范。最主要的还是代码风格,命名,指针,内存啊这些。目前来说是主要依靠vs的插件。最近尝试的是CPPcheck,这款静态代码分析的工具。CPPcheck介绍cppcheck是一种静态代码检测,...
2019-03-27 09:49:49 736
原创 人脸关键点检测综述
目录 1. 前言2 .人脸检测数据集:3.人脸检测方法4.论文链接以及部分博客解读链接1. 前言根据知乎专栏:https://zhuanlan.zhihu.com/p/42968117整理出来的论文综述。马住慢慢看总结。2 .人脸检测数据集:3.人脸检测方法 序号 论文 时间 ...
2019-01-17 11:14:59 2079
原创 anaconda 安装与卸载
目录 一 在ubuntu上卸载anaconda的步骤 :1 删除整个anaconda目录:2建议清理下.bashrc中的Anaconda路径:二 在ubuntu上安装anaconda的步骤1 下载sh文件:2 安装3 选择安装目录(默认和自己输入)4 更新环境变量5 查看python 目录一 在ubuntu上卸载anaconda的步骤 :1 删除整个...
2018-12-29 16:26:28 2009
转载 softmax loss函数和求导以及数值稳定性讨论
转:https://zhuanlan.zhihu.com/p/27223959目录背景与定义导数softmax的计算与数值稳定性Loss function对数似然函数交叉熵Loss function求导Softmax函数背景与定义在Logistic regression二分类问题中,我们可以使用sigmoid函数将输入映射到区间中,从而得到属于某个类...
2018-12-26 14:12:12 1710
原创 《deep mutual learning》论文阅读和实验
目录1 论文阅读1.1 原文理解主旨:实现方法:算法流程:1.2 训练步骤2 实验3 实验代码步骤(伪代码)1 论文阅读1.1 原文理解主旨:从teacher-student知识蒸馏出发,提出来一种新的蒸馏方法叫相互学习。相互学习与知识蒸馏的方法的区别:知识蒸馏需要一个大的pre-trained网络带动小网络的学习。而相互学习是小网络集合直...
2018-12-18 09:11:15 3249 15
原创 《Bag of Tricks for Image Classification with Convolutional Neural Networks》阅读笔记--调参trick
目录1文章思想:2 摘要3 baseline4 高效的训练4.1 大批量的训练4.2 低精度训练5 模型调整6 训练过程的改进6.1 余弦学习率下降6.2 标签平滑6.3 知识蒸馏6.4 混合训练7 迁移学习的结果证明实验1文章思想:总的来说,这篇文章是一篇实用性极强的文章,也是需要亲自调试才能明白其好处的文章。这篇文章没有干涩的理论研究...
2018-12-12 15:46:13 840 1
原创 python 常用的小代码-不定时更新
目录osshutil:read:str:list:平时写代码的时候,总是经常或者偶尔用,但是有时候会突然短路想不到。虽然可以百度,但是毕竟有时候搜索的不太符合,写下这个类似一个小工具的常用代码,便于自己随时查看。提高效率。以后,会考虑写一个常用的功能的小代码集合。osos.listdir(path):列出路径中的文件名os.path.join(path,*p...
2018-11-28 19:59:49 282
原创 windows 下python opencv 找不到指定模块(dll缺失的问题)
首先感谢https://blog.csdn.net/cskywit/article/details/81513066,让我见识了两个神器,一个叫everthing,一个叫Dependency。Dependency软件:http://www.dependencywalker.com/安装windows 下的python版本的opencv的时候,用的pip安装。直接pip install op...
2018-11-13 10:36:43 8428
原创 论文阅读笔记-《GhostVLAD for set-based face recognition》
目录简介:涉及的知识点:创新点:前言:本文改进:简介:首先,本文目的是利用人脸集合,采用基于模板的人脸识别方法,改进NetVLAD提取人脸模板特征向量。涉及的知识点:1.VLAD:局部聚合描述子向量,利用硬分配。2.NetVLAD:结合CNN的VLAD网络结构,利用软分配。3.GhostVLAD:本文,在聚类中心中加入ghost 聚类中心,削弱低质量图像...
2018-11-09 19:39:47 2016
原创 人脸识别评价参数之FAR和FRR
FRR:错误拒接率(False Reject rate)。 文字定义:错误拒绝率,把同一个人的图片对当成不同的人图片对的概率。其中:errorCount是指匹配失败的次数,totalCount是指同一个人的匹配次数。也就是说,假设我们定义匹配的时候设置的阈值为threshold,当两两匹配的时候的相似度值为value。在理想情况下,同一个人的匹配相似度value>t...
2018-11-08 11:11:27 7014 3
原创 mxnet 数据接口mx.io.ImageRecordIter中的缓存
首先。问题描述:mx.io.ImageRecordIte获取数据的接口是next()。假如用一个循环不断将获取的数据压入一个list容器中,那么你会发现一个奇怪的现象。在几个步骤之后,list中的内容从前向后会依次开始改变。代码表示: for batch in range(100): data_train = next(train_iter) ba...
2018-11-02 15:38:30 2061 2
原创 Detail-Preserving Pooling in Deep Networks阅读
理解首先,主要讲下对文章的主要理解。简而言之,这篇文章目的是保留图像细节,拒绝最大或者平均池化的简单粗暴操作,可以自适应的学习的加权型池化。文章借鉴的思想是DDIP。综述池化的作用:降低参数量,扩大感受野,增强不变性。目前常用的池化:最大,平均,带步长的卷积。等等。最大池化是选择领域内最大的,平均是对领域统一的贡献。而strided conv则是简单选择一个节点作为池化后的节点。文章内...
2018-10-31 11:03:15 1163
原创 linux 终端无法使用tab补齐功能
1.首先打开~./bashrc文件,查看确保上面这个是没有被注释掉的,这个意思就是打开补齐功能。如果去除了注释,要用 source ~/.bashrc 使其生效。2.如果第一个条件是满足的,那就考虑下是否是快捷键占用的情况。清除这一行。然后close。就可以了。3.实在还是不行,就要查别的原因了。可以试试是否可以用ctrl+tab补齐。 ...
2018-10-29 15:51:01 11964 2
原创 residual attention 论文阅读以及复现
目录论文理解attention 机制最初是出现在翻译领域的,之后逐渐应用到检测和识别上的。总的来说,我觉得attention就是对提取的特征进行加权,进行提升重要特征忽略次要特征的作用。在这个本质作用上,我觉得和SEnet的目的是相似的,只是提纯的手段不一样。论文:Residual Attention Network for Image Classificatio论文理解总的...
2018-10-10 09:54:55 1964 2
原创 mxnet 数据部分接口解读和可视化
(一)数据读取mxnet 参考api 文档:http://mxnet.incubator.apache.org/api/python/io/io.html这里主要用到两个函数接口:io.ImageRecordIter以及recordio.MXIndexedRecordIO。io.ImageRecordIter:函数解释:从rec文件中读取数据,根据batchSize的大小读取数据。...
2018-09-26 10:17:54 1282
原创 insightface tripletloss源码阅读
一:insighteface tripletloss实现中的dataiter部分解读前言:mxnet的dataiter一般为继承io.DataIter类,实现其中主要的几个函数。需要实现的主要函数为:__init__(),reset(),next()。以及几个在fit函数中需要用到的几个属性:...
2018-09-11 14:04:23 1372 1
原创 im2rec.py的解读以及python高级编程的一些知识点
1.mxnet 的im2rec.py注释# Licensed to the Apache Software Foundation (ASF) under one# or more contributor license agreements. See the NOTICE file# distributed with this work for additional informat...
2018-09-07 10:13:04 1381 4
原创 mxnet:Optimizer rescale_grad
今天挖了个坑,关于优化器的初始化。优化器的初始化函数:create_optimizer在梯度反传的时候,我们用随机梯度下降等优化方法的时候,需要对一个batch_size的梯度求和然后求平均再反传。这个就涉及到一个参数:rescale_grad。这个参数的作用就是对梯度进行求平均,按道理应该是(实际也是)rescale_grad=1/batch_size。但是在optimi...
2018-08-31 11:16:18 1497 1
原创 mxnet:finetune 几层写法
深度学习中,常常会用到finetuning。所谓的finetune也就是微调,在已有的训练好的模型基础上,将该模型参数部分转移到新模型上或者全部作为新模型的初始化方式。这样带来好处就是不同数据源不同任务之间的快速训练达到想要的效果。这种学习方式也就是常说的迁移学习,当然,迁移学习的知识点很多,还是需要更多的去仔细研究和学习的。这几天尝试了一下微调,发现mxnet里面的这部分还是可以记录...
2018-08-30 10:55:54 1760 1
原创 mxnet:mx.sym.BlockGrad理解
解释:我们知道现在深度学习的框架是计算图,由节点和路径组成。在前向和反向的时候都是通过图路径传递的,那么这个函数是用在反向传播的时候,字面意思就是阻塞梯度传播。举例:输入两个点,输出一个点,如下图所示:正常反向传播公式就是:y=3*a+4*b在正常的反向传播的时候,a的偏导就是3,b的偏导为4(假设都是标量的情况下)。代码测试: import mxnet as ...
2018-08-29 10:16:28 3871 3
原创 mxnet dropout 层阅读和测试
(1)mxnet 测试dropout的层函数:mxnet.symbol.Dropout(data=None, p=_Null, mode=_Null, axes=_Null, name=None, attr=None, out=None, **kwargs)需要注意的是两个参数:p:激活概率。mode:测试模型,分为‘always’和‘training’。默认是training...
2018-08-21 11:16:20 1065
原创 vs 2013 error (link 2038,link 2019,link2016)
这两天配置了一个vs 2013下,一个解决方案下多个项目的时候。出现了如下的几个问题,记录一下解决办法。1.VS2013模块对于SAFESEH 映像是不安全的。依次打开属性页-链接器-命令行,将 /SAFESEH:NO 复制到“其它选项(D)”框中。点击应用。2.error link 2038。错误: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹...
2018-08-14 10:39:44 1059
原创 insightFace 复现以及问题汇总
首先,insightface的代码是基于python 2.7的,所以3.0的版本会有很多问题,以下是问题汇总。使用insightFace见https://zhuanlan.zhihu.com/p/33750684问题汇总:1.没有装easydict:2.nameError:python3中没有xrange,将所有的xrange替换为range.3.UnicodeDecodeEr...
2018-08-01 19:35:17 3733 14
原创 mxnet FGSM 对抗样本生成
感慨:初学mxnet 和 python ,写出来一个FGSM真的坑太多了。FGSM的原理很简单,利用输入层的梯度作为扰动,改变输入图像,从而达到肉眼看不到区别的前提下能够使得神经网络错分。原理博客:https://blog.csdn.net/u014038273/article/details/78773515mxnet example版本,不定向生成。(ps:这个我觉得是有点问...
2018-08-01 19:34:30 1744 13
原创 Ubuntu 下卸载opencv 并安装
删除opencv。 删除编译opencv时的文件夹,我的名为build 删除对应的库文件 删除opencv的文件夹sudo make uninstallcd .. sudo rm -r buildsudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/...
2018-07-24 09:48:03 2707
原创 MxNet 错误--显存不足(Failed to find any forward convolution algorithm.|| Out of memory)
前提:用144*128 的数据训练mobileNet原始模型。训练的时候超参数的不同,出现的几个错误。设备:GTX 1080 8G显存。错误出现情况:1.out of memory超参数设置:batch_size=256 gpu=0,1或者batch_size=128 gpu=0,12.Failed to find any forward convol...
2018-07-18 15:01:12 3790
原创 网络压缩系列论文阅读
网络压缩系列1.mobileNet:旨在压缩模型,平衡速度和性能,达到在嵌入式设备中的一个较好的应用。重点在于一个深度可分离网络,将传统的m*n*w*h的卷积核变为一个DepthWise layer和一个PointWise layer。这种分离从直观上,减少了参数的数量和计算的数量,本质上还可以分离空间信息和深度信息,减少两者的耦合。同时,还提出来了两个参数,一个宽度乘数,一个分辨...
2018-07-16 16:33:44 654
原创 leetcode 166-之科学计数法
(1)leetcode 166首先,这个文章目的不在求解leeetcode 166题,这个题目无外乎就是注意1.分为整数部分和小数部分的分别求解2.分数一定是有限小数和无限循环小数。3.求小数部分按照小学求数的方法*10除以除数,循环小数就是记录从一开始的除数开始的所有余数,当余数开始重合的时候小数开始重合。4.注意溢出,所有有关溢出的部分至今按long long写。5.很多解法都没出现过的科学计...
2018-07-06 10:09:10 907
原创 c/c++/python 文件夹文件名读取并写txt
(1) c/c++ 代码查找文件夹下所有文件,借鉴链接https://blog.csdn.net/CSDNwei/article/details/76619178。#include <iostream>#include <fstream>#include <string>#include <vector>#include <Window...
2018-07-04 09:43:14 356
翻译 BatchSize 的选择
全批次(蓝色)如果数据集比较小我们就采用全数据集。全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。注:对于大的数据集我们不能使用全批次,因为会得到更差的结果。迷你批次(绿色)选择一个适中的Batch_Size 值。就是说我们选定一个batch的大小后,将会以batch的大小将数据输入深度学习的网络中,然后计算这个batch的所有样本的平均损失,即代价函数是所有样本的平均。...
2018-07-04 09:28:54 2275
原创 深度学习Loss 种类汇总以及讨论
(1)首先是从大的角度来说,度量loss的主要为两种方法。一种是从欧式距离计算,以L2-norm为主,一种是近来的另辟蹊径的转换到角度领域,主要从余弦和夹角这两个在我看来有异曲同工之效的角度。但是,总的Loss改进的出发点从之前的可分到现在的最大化类间最小化类内这个目标。遍观出现的Loss种类,我觉得可以分为两大类。一类以样本本身为一个优化手段,一类以改进softmax的margin种类为优化方法...
2018-07-04 09:24:07 10954
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人