自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 pytorch DistributedDataParallel 多卡训练结果变差的问题分析

DDP 数据shuffle 的设置使用DDP要给dataloader传入sampler参数(torch.utils.data.distributed.DistributedSampler(dataset, num_replicas=None, rank=None, shuffle=True, seed=0, drop_last=False)) 。 默认shuffle=True,但按照pytorch DistributedSampler的实现: def __iter__(self) -> It

2021-04-19 12:04:22 2941 1

原创 AutoML: 自动调参工具Ray tune

Ray TuneRay Tune 是一个标准的超参数调优工具,包含多种参数搜索算法,并且支持分布式计算,使用方式简单。同时支持pytorch、tensorflow等训练框架,和tensorboard可视化。超参数神经网络结构搜索(层数、节点数、类型、连接方式)学习率optimizerloss weight…使用方法安装:pip install ray torchvisionpytorch 集成tune到pipelineclass-based ray.tune.Trainabl

2021-04-14 10:11:00 1402

原创 Ninja

Ninja是类似make的编译工具,make工具比较复杂,Ninja相比make更关注编译速度,小巧高效,LLVM、CMake、chrome使用Ninja编译。安装下载官网二进制https://github.com/ninja-build/ninja/releases源码编译生成ninja可执行文件git clone git://github.com/ninja-build/ninja.git && cd ninja./configure.py --bootstrap

2021-04-09 15:13:18 540

原创 tensorboard ValueError: Duplicate plugins for name projector

使用tensorboard报错:ValueError: Duplicate plugins for name projector主要原因:安装了多个tensorboard有冲突。对tensorboard版本进行检测,根据提示fix出现的冲突:https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.py使用上面的脚本,给出解决方案:### Su

2021-04-09 11:50:22 250

原创 VScode Latex 拼写检查

spell right安装spell right 插件点击最下面边框的眼睛:选择不同的语言(但是好像不支持中文)写latex文件:LTeX:latex 或markdown文件拼写检查工具https://valentjn.github.io/vscode-ltex/docs/installation-and-usage.html#how-to-install-and-use补充word表格转latex表格在线工具:https://www.tabl..

2021-03-22 14:30:00 2726

原创 pytorch 多GPU训练

pytorch 提供两种多GPU训练方案:nn.DataParallel 和 nn.DistributedDataParallel.nn.DataParallel(支持单机多卡)很容易使用,但是速度慢(主要原因是它采用parameter server 模式,一张主卡作为reducer,负载不均衡,主卡成为训练瓶颈)import torchimport torch.nn as nnfrom torch.utils.data import Dataset, DataLoaderinp.

2021-03-22 11:44:53 450

原创 LPCNET 速度优化学习

LPCNETLPCNET 包含两个部分frame rate network + sample rate network,其中sample rate network 中会用到线性估计,加入线性估计降低神经网络的复杂度(原始的WaveRNN神经网络需要给整个采样点值建模,而LPCNET的神经网络只需要估计excitation,excitation是采样点的值和线性估计之间的差值)。最后的估计的采样点值为LPC的线性估计结果+神经网络估计的excitation。LPCNET 速度优化由于sample ra

2021-01-26 14:57:23 521

原创 AEC传统算法学习

回声消除回声信号y(n):是扬声器播放的信号x(n)又被麦克风采集到的信号,x(n)经过了房间混响,扬声器的播放,麦克风采集之后会包含线性部分y’(n) 和非线性部分y‘’(n), y(n) = y’(n) + y’’(n) **近端麦克风采集的信号d(n) **:y(n)=s(n) + y(n)+v(n), s(n) 为近端说话人语音信号,也是真正要获得的信号,y(n) 为回声信号,v(n) 为噪声信号;回声消除的几种场景: 单讲(只有远端信号,没有近端信号),双讲(近端和远端同时有信号) 回声消

2021-01-04 18:54:07 2769

原创 语音分离---TasNet

语音分离:1)分离噪声: 降噪2)分离混响:降混响3)分离人声:说话人分离4)分离回声:回声消除TasNet 系列在语音分离方法有不错的表现,有用到降噪&说话人分离&回声消除等方面,采用的是 encoder + seperator(generate mask) + decoder 的结构;主要提出的点有:1) time-domain (对比时频域算法,用encoder 和 decoder 来替代stft 和 istft 类似的变换。可以不需要考虑是否保留phase和频域分辨率

2021-01-04 15:32:35 5057

原创 提高降噪模型的泛化能力(包含一些噪声数据链接)

noise generalization: 提高降噪模型对噪声的泛化性,主要还是通过增加噪声数据的多样性(可以收集不同噪声数据/或对噪声数据做perturbation)噪声数据集:sound-ideas 包含各种噪声类型,但是要收费 https://www.sound-ideas.com/ freesound 做freesound的声音分类包含很多唤醒噪声:https:...

2020-04-14 11:20:44 918

原创 如何使用没有标签的数据?或者如何用没有标签的数据提升模型效果?

要用到无标签的数据就要给无标签的数据造一个监督训练的目标,常用的造目标的方法:Pseudo-labeling 可以用现有的数据训练模型,在用模型跑无标签的数据得到一个假的label,用无标签数据和假的label 帮助训练模型,最后再用有label数据finetune data augmentation 通过对数据做变换,得到和原始数据相近的数据(simCLR),用一致性,或一些其他的指标让...

2020-03-04 18:53:30 3315

原创 训练语音降噪模型的一些感想

当前基于深度学习的语音降噪方法主要分为两个类:基于TF时频域的方法 (有两大类:基于mask和非基于mask的方法) 基于时域的方法,就我自己的实验结果来说,基于时域的方法比基于TFmask的方法要差一些,可能这样方法的trick更多一些吧。 基于时频域方法中的基于mask的方法更常见一些,主要的是对语音提取频域特征,通过计算干净音频和对应的加噪音频的频域特征计算一个频域的mas...

2020-03-03 17:49:35 1441

原创 git 学习(git fetch/ git pull/ git rebase/ git cherry-pick的区别)

使用git做开发管理:1. Git clone 将远程代码克隆到本地;2. Git branch 查看本地branch (git clone 时会创建 master)3. git branch -a 查看本地和远程分支;(远程分支包括remotes/origin/master 远程master分支)4. Git remote -v查看远程库对应的简短名称 (o...

2020-02-24 16:29:15 2919 1

原创 depthwise模型训练不容易收敛

为了做模型压缩,常见方法将正常卷积换成seperable 卷积(正常卷积和可分离卷积具体见下图) (1)正常卷积 (2)depthwise 卷积 (3)pointwise 卷积正常卷积卷积的大小: kernel_size_w * k...

2020-02-21 15:26:46 398

原创 bazel 学习(1)

从一个BUILD 文件学习:package(default_visibility = ["//:internal"])load("@subpar//:subpar.bzl", "par_binary")py_library( name = "a", srcs = ["a.py"],)filegroup( name = "b", srcs = ["...

2020-01-06 11:58:28 1128

原创 C++标准库中的容器

内存连续的容器: array 是对数据的包装,增加size() 等操作; vector 每次加入元素的时候check,是否超过最大容量,进行内存二倍扩充和拷贝;内存假象连续: deque 双向队列,包含多个buffer每个buffer是连续内存 -- stack 在deque的基础上(也可以在list的基础上,没有iterato...

2020-01-06 11:24:31 145

原创 i++ 和++i的区别

++i和i++ 的实现://++iint& int::operator++(){ *this +=1; return *this;}//i++const int int::operator++(int){ int tmp=*this; ++(*this); return tmp;}从实现可以看出:1. ++i 的返回是做了...

2019-12-27 12:06:17 303

原创 神经网络fully_connected层的forward 和backward实现

接着上篇tensorflow compute graph的理解,其中operation node 需要给运算定义forward 和backward函数。这篇中我们实现一个简单的fully_connected layer的forward 和backward 函数:class fullyconnect(Operation): def __init__(self, x, w, b):...

2019-08-14 17:05:32 1253

原创 tensorflow 中计算图理解

tensorflow计算图 计算图是对有向图的表示,主要包含点和边;tensorflow使用计算图计算,计算图的点对应于ops,variables,constant,placeholder等,边对应于Tensors。因此tensorflow主要包含两个部分:构建计算图和runtime运行计算图。为什么要用计算图?并行化,因为计算图是对计算的一种抽象,点之间的关系取决其依赖关...

2019-08-13 21:43:49 2142

转载 使用mpld3

在无图形界面的linux系统中,想要用matplotlib,如何实现?---mpld3 是matplotlib 和 javascript D3js 得到的可以在网页上绘图的工具。 

2018-05-24 16:33:17 1507 1

原创 finetuning出现问题: loss 为Nan的情况

1.数据中本身是否包含Nan 的数据2. 计算过程是否可能出现 除数是0 的情况 或 log(0) 情况等

2018-05-24 14:36:07 845

原创 问题:显卡占用高,但使用率低

cuda_visible_devices 设置可见gpu,但是会将整个gpu占满,Gpu的实际使用率很低。使用tf.configproto.gpu_optional.allow_growth属性设为True时就可以文明使用gpu。数据读取满,影响计算速度...

2018-05-08 13:18:09 16764

原创 理赔预测

分析各个变量对理赔的影响:import pandas as pdfrom scipy import statsimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsdef anova(frame,qualitative): anv=pd.DataFrame() anv['feature...

2018-04-12 17:51:33 641

原创 python 最小二乘

from numpy import *from scipy.optimize import leastsqimport pylabdef groundTruth(x): return sin(2*pi*x)def fit_function(x,n): f=poly1d(n) return f(x)def loss(p,gt,x): return fit...

2018-03-29 22:22:59 213

原创 python 实现KNN

# -*- coding: utf-8 -*-from numpy import *import operatordef createData(): group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels=['a','a','b','b'] return group, labelsdef classify(p...

2018-03-29 21:56:03 279

翻译 python 爬取电影

import requestsfrom bs4 import BeautifulSoupurl_a='https://movie.douban.com/top250'def download_page(url): data=requests.get(url).content return datadef parse_html(html): soup=Beau...

2018-03-09 15:54:14 1995

原创 博客

http://blog.topspeedsnail.com/archives/5049   WTF Daily Blog

2018-03-08 20:58:15 117

原创 文件名处理

在python中得到文件路径中的文件名(/var1/var2/cat.txt):path=''name=path.split('\')[-1]在shell中得到文件中存储的多个路径中的文件名:(1 正则表达式)for line in $(<path.txt);do echo ${line##*/};donefor line in $(<data_test.txt); do echo ...

2018-02-28 21:16:40 227

原创 SLAM 学习

Simultaneous localization and mapping(同时定位于建图)分为:激光雷达和视觉传感器两个方向。视觉传感SLAM包括单目SLAM,双目SLAM和以kinect为代表的景深摄像头的RGBDSLAM。主要包含三个任务:定位、建模、运动规划。框架:视觉里程计算:利用一个图像序列或者一个视频流,计算摄像机的方向和位置的过程。一般包括图像获取后、畸变校正、特征检测匹配或者直接...

2018-02-28 11:38:54 208

原创 简单理解GAN

GAN -----Generative Adversarial Nets(生成对抗网络),包含两个部分:生成器辨别器简单例子:      训练生成器生成数据,数据要求Mean=4,STD=1.5的高斯分布。首先数据准备:生成数据代码如下:def sample_data(size,length=10): data=[] for i in range(size): da...

2018-02-28 11:13:57 192

原创 网络结构---从alexnet到resnet, rcnn 到mask rcnn

pretrained 网络结构AlexNet-> vgg vgg 采用更小的卷积核,加深网络深度,但两者的共同点都是卷积层+pooling层最后接上fc 层的结构Network in network ->googleNetNIN 中采用global average pooling ,而不是使用 fc 层,减少了网络参数,googlenet是在网络中加入inc

2017-11-14 14:53:47 542

原创 Clustering by Passing Messages Between Data Points

Clustering by Passing Messages Between Data Points聚类算法是初始化聚类,然后进行迭代,但只有当初始化合适的情况下,才能得到最优解。我们聚类的一般方法:在一组数据中寻找K个中心,使数据点与它们最近中心点之间的平方差的和最小。较常用的K-Centers方法必须人工指定K值。算法在数据集中随机选择K个点作为初始中心点,反复提纯以使平方差之和减小。K-Ce

2015-11-16 22:09:58 3246 1

原创 Clustering by fast search and find of density

Clustering by fast search and find of density-这是science 上2014年5月的一篇文章,主要的思想就是聚类中心点的选择。 在kmeans的方法中,我们随机生成种子点进行迭代。此方法是先用密度峰值来确定聚类中心,确定聚类中心之后,得到距离近的点为同一类。 此方法有两个计算的要点局部密度与高密度点的距离 matlab实现 clear;clc;

2015-11-11 22:42:00 559

原创 聚类算法

k-means ,层聚类,GMM,谱聚类,chameleon, AP

2015-11-10 17:47:27 532

原创 图像梯度域融合

图像梯度域融合图像梯度域重建图像泊松编辑混合梯度融合彩色图像灰度化的问题图像梯度域重建-原理 该问题中心思想是利用梯度实现灰度图像的重建。为后面的问题作铺垫。 该问题用到了梯度与最小二乘的思想。 求矩阵v使e达到最小。 现在我们需要相对于源图像s重建一副灰度图像v,重建图像v的方向梯度应该与源图像s的方向梯度一致。这可以转化为最小二乘问题: 1) 最小化:( v(x+1,y

2015-11-10 17:32:32 9222 1

原创 模糊C均值聚类

模糊C均值聚类 重要的几个参数:类别数,聚类中心,迭代次数。用隶属度确定每个数据点属于某个聚类的程度。一个数据集的隶属度的和等于1:(1) 目的是使划分到同一簇的对象之间的相似度最大,而不同簇之间的相似度最小。目标函数:(2)隶属度函数是表示一个对象隶属于集合A的程度的函数 聚类中心公式如下:      (3)(4)模糊C均值聚类算法是一个简

2015-05-13 15:36:57 1508

原创 引用的作用

例如  int fin(int a) 当调用函数时 int b;                          fin(b);编译器会将b赋值给a,在函数体内操作a,、当使用引用时               int  fin(int & a)           fin(b),没有赋值过程,函数会将a当做实参的别名进行操作。可以看出引用的两个特性:

2015-05-13 15:33:39 499

转载 ransac

RANSAC算法详解   给定两个点p1与p2的坐标,确定这两点所构成的直线,要求对于输入的任意点p3,都可以判断它是否在该直线上。初中解析几何知识告诉我们,判断一个点在直线上,只需其与直线上任意两点点斜率都相同即可。实际操作当中,往往会先根据已知的两点算出直线的表达式(点斜式、截距式等等),然后通过向量计算即可方便地判断p3是否在该直线上。 生

2015-03-11 11:10:39 974

转载 C++中 vector、list、deque、set、map

C++中 vector、list、deque、set、map的底层实现分类: C++stl容器区别: vector list deque set map-底层实现stl容器区别: vector list deque set map (转)在STL中基本容器有: vector、list、deque、set、mapset 和map都是无序

2014-10-31 15:01:10 411

canny算法matlab

canny算法,MATLAB实现,完全可以运行

2014-12-25

空空如也

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

TA关注的人

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