深度学习
文章平均质量分 61
啥哈哈哈
这个作者很懒,什么都没留下…
展开
-
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 · 2704 阅读 · 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 · 1346 阅读 · 0 评论 -
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 · 240 阅读 · 0 评论 -
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 · 438 阅读 · 0 评论 -
提高降噪模型的泛化能力(包含一些噪声数据链接)
noise generalization: 提高降噪模型对噪声的泛化性,主要还是通过增加噪声数据的多样性(可以收集不同噪声数据/或对噪声数据做perturbation)噪声数据集:sound-ideas 包含各种噪声类型,但是要收费 https://www.sound-ideas.com/ freesound 做freesound的声音分类包含很多唤醒噪声:https:...原创 2020-04-14 11:20:44 · 880 阅读 · 0 评论 -
如何使用没有标签的数据?或者如何用没有标签的数据提升模型效果?
要用到无标签的数据就要给无标签的数据造一个监督训练的目标,常用的造目标的方法:Pseudo-labeling 可以用现有的数据训练模型,在用模型跑无标签的数据得到一个假的label,用无标签数据和假的label 帮助训练模型,最后再用有label数据finetune data augmentation 通过对数据做变换,得到和原始数据相近的数据(simCLR),用一致性,或一些其他的指标让...原创 2020-03-04 18:53:30 · 3228 阅读 · 0 评论 -
depthwise模型训练不容易收敛
为了做模型压缩,常见方法将正常卷积换成seperable 卷积(正常卷积和可分离卷积具体见下图) (1)正常卷积 (2)depthwise 卷积 (3)pointwise 卷积正常卷积卷积的大小: kernel_size_w * k...原创 2020-02-21 15:26:46 · 385 阅读 · 0 评论 -
神经网络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 · 1233 阅读 · 0 评论 -
tensorflow 中计算图理解
tensorflow计算图 计算图是对有向图的表示,主要包含点和边;tensorflow使用计算图计算,计算图的点对应于ops,variables,constant,placeholder等,边对应于Tensors。因此tensorflow主要包含两个部分:构建计算图和runtime运行计算图。为什么要用计算图?并行化,因为计算图是对计算的一种抽象,点之间的关系取决其依赖关...原创 2019-08-13 21:43:49 · 2135 阅读 · 0 评论 -
finetuning出现问题: loss 为Nan的情况
1.数据中本身是否包含Nan 的数据2. 计算过程是否可能出现 除数是0 的情况 或 log(0) 情况等原创 2018-05-24 14:36:07 · 828 阅读 · 0 评论 -
SLAM 学习
Simultaneous localization and mapping(同时定位于建图)分为:激光雷达和视觉传感器两个方向。视觉传感SLAM包括单目SLAM,双目SLAM和以kinect为代表的景深摄像头的RGBDSLAM。主要包含三个任务:定位、建模、运动规划。框架:视觉里程计算:利用一个图像序列或者一个视频流,计算摄像机的方向和位置的过程。一般包括图像获取后、畸变校正、特征检测匹配或者直接...原创 2018-02-28 11:38:54 · 197 阅读 · 0 评论 -
简单理解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 · 189 阅读 · 0 评论